Professional Documents
Culture Documents
เสนอ
จัดทำาโดย
นายรุ่งวิรุณ โกมลิทธิพงศ์
ความเป็นมา
Manager
Project Manager
Team Leader
Outsourcing
• Project Manager
◦ ประสานงานกับลูกค้า (Communication)
◦ บริหารจัดการงานที่ต้องทำา (Task Management)
◦ บริหารจัดการระยะเวลา (Time Management)
◦ บริหารจัดการทรัพยากร (Resource Management)
◦ บริหารจัดการความเสี่ยงต่างๆ (Risk Management)
◦ บริหารจัดการงบประมาณ และค่าใช้จ่าย (Budget and Expense Management)
• System Analyst
◦ วิเคราะห์ความต้องการที่ได้จากลูกค้า
◦ ออกแบบระบบ
▪ จัดทำา use case diagram, class diagram, sequence diagram
▪ ทำา mock-up
◦ จัดทำาเอกสารที่เกี่ยวกับการออกแบบระบบ
• Software Developer
◦ พัฒนาซอฟต์แวร์ตามการออกแบบที่ดี และนำา Design Pattern ต่างๆมาประยุกต์ใช้งาน
◦ ทดสอบซอฟต์แวร์ โดยให้เป็นไปตามหลัก Test Driven Development
◦ ปรับปรุงคุณภาพของซอฟต์แวร์
◦ จัดการโครงสร้างซอร์สโค้ดให้เป็นระเบียบเรียบร้อย สามารถเพิ่มเติมแก้ไขได้งา่ ย
• Web Designer
◦ ออกแบบ layout ของซอฟต์แวร์โดยคำานึงถึงหลัก UX/UI ที่ดี
◦ คัดสรร ปรับปรุง template ต่างที่เหมาะสม เพื่อนำามาใช้งาน
• Outsourcing
◦ พัฒนาระบบซอฟต์แวร์ต่างๆตามที่ได้ตกลงกันไว้กับแผนก
ด้านบุคลากร (Employee)
ตำาแหน่ง เงินเดือนต่อคน จำานวนคน รวม
Software Dev. Manager 60,000-80,000 1 60,000-80,000
Full Stack Dev 27,000-40,000 2 54,000-80,000
Front-end Dev. 20,000-30,000 1 20,000-30,000
Back-end Dev. 25,000-35,000 1 25,000-35,000
Web Designer 20,000-30,000 1 20,000-30,000
รวม 6
เงินเดือนรวมต่อเดือน 179,000-255,000
ด้านเครื่องมือที่มีอายุการใช้งาน 3 – 6 ปี
ชื่อ ราคาต่อหน่วย จำานวน รวม
PC Laptop 30,000 4 120,000
(อายุการใช้งาน 3 – 5 ปี)
Mac book 40,000 2 80,000
(อายุการใช้งาน 3 – 5 ปี)
Smart phone Andriod 15000 1 15,000
(อายุการใช้งาน 3 – 5 ปี)
Smart phone iOS 20,000 1 20,000
(อายุการใช้งาน 3 – 5 ปี)
Microsoft Windows 10 Pro (optional) 7,4000 4 29,600
(อายุการใช้งาน 4 – 6 ปี)
Visual Studio 2017 Pro (optional) 17,000 4 68,000
(อายุการใช้งาน 3 – 5 ปี)
Software Libraries (optional) 20,000 20,000
ค่าใช้จ่ายรวม 332,600
ค่าใช้จ่ายไม่รวมออปชั่นเสริม 235,000
ด้านเครื่องมือแบบรายเดือน (Subscription tools)
ชื่อ ราคาต่อเดือน
BitBucket 750 1 750
สำาหรับบริหารจัดการซอร์สโค้ด
Trello 350 1 350
บริหารจัดการโปรเจ็ค
ค่าใช้จ่ายต่อเดือน 1,100
เอาท์ซอร์ส (Outsource)
ค่าใช้จ่าย
Min Max
พัฒนา GUI 50,000 150,000
พัฒนาระบบ ITS 1,000,000 2,000,000
พัฒนาระบบ IOT 800,000 2,000,000
พัฒนา Mobile App 100,000 300,000
รวม 1,950,000 4,450,000
ต้นทุนดำาเนินการสำาหรับ 1 ปีแรก
ประเภท ค่าใช้จ่าย
Min Max
บุคลากร 179,000 x 12 = 2,148,000 255,000 x 12 = 3,060,000
ประมาณการจำานวนอุปกรณ์
2018 2019 2020
การขนส่ง 5,000 – 10,000 10,000-50,000 50,000-100,000
อสังหาริมทรัพย์ 3,000-6,000 6,000-24,000 24,000-50,000
การเกษตร 1,000-2,000 2,000-5,000 5,000-20,000
สุขภาพ 0 2,000-8,000 8,000-16,000
รวม 9000-18,000 20,000-87,000 87,000-186,000
ประมาณการรายได้เฉลี่ยต่ออุปกรณ์
2018 2019 2020
การขนส่ง 100-200 80-200 80-200
อสังหาริมทรัพย์ 80-160 60-160 60-160
การเกษตร 60-120 50-120 50-120
สุขภาพ 0 100-200 80-200
ประมาณการรายได้จากการว่าจ้างพัฒนาซอฟต์แวร์
2018 2019 2020
การขนส่ง 100,000-200,000 200,000-300,000 300,000-400,000
อสังหาริมทรัพย์ 100,000-200,000 200,000-300,000 300,000-400,000
การเกษตร 100,000-200,000 200,000-300,000 300,000-400,000
สุขภาพ 0 100,000-200,000 200,000-300,000
รวม 300,000-600,000 700,000-1,100,000 1,100,000-1,500,000
ประมาณการรายได้รวม
2018 2019 2020
การขนส่ง 700,000-1,400,000 1,160,000-5,800,000 5,800,000-11,600,000
อสังหาริมทรัพย์ 312,000-624,000 540,000-2,160,000 2,160,000-4,500,000
การเกษตร 84,000-168,000 142,000-355,000 355,000-1,420,000
สุขภาพ 0 280,000-1,120,000 928,000-1,856,000
รวม 1,400,000-2,240,000 2,122,000-9,435,000 9,243,000-19,376,000
การทำางาน
ช่วงเวลาทำางาน
เพื่อให้เกิดความสะดวกในการเดินทางมาทำางาน พนักงานสามารถเลือกเวลาเข้างานได้ ดังนี้
• 8:00 – 17:00
• 9:00 – 18:00
• 10:00 – 19:00
หากต้องการเปลี่ยนแปลงเวลาเข้างานต้องแจ้งให้ทางฝ่ายบุคคลทราบล่วงหน้า 7 วันขึ้นไป โดยจะมีผลในเดือนถัดไป
เพื่อให้ง่ายต่อการคำานวณเวลาทำางาน
ขั้นตอนการพัฒนาซอฟต์แวร์
• การเก็บความต้องการ เป็นส่วนเริ่มแรกของการทำางาน โดยนักพัฒนาต้องเรียนรูร้ ะบบงานที่จะพัฒนาให้
เข้าใจถ่องแท้ถึงจะสามารถออกแบบระบบให้ลูกค้านำาไปใช้งานได้ โดยต้องอาศัยความร่วมมือของลูกค้าเป็น
อย่างมากที่จะอธิบายให้เข้าใจ โดยสรุปเป็นหัวข้อต่างๆ ได้ดังนี้
◦ ประชุมกับทางลูกค้า และทำาการสรุปความต้องการเป็นตัวหนังสือ และชาร์ตต่างๆที่จำาเป็น
◦ ส่งสรุปความต้องการให้ทางลูกค้าตรวจสอบ และเก็บความต้องการเพิ่มเติมหากจำาเป็น
◦ ปัญหาและอุปสรรคในส่วนนี้
▪ ลูกค้าขาดความชัดเจนในความต้องการ ต้องการให้ทำามาก่อนเพื่อทดลองใช้ จากนั้นก็จะเกิดการ
แก้ไข หรือแม้กระทั่งรื้อระบบใหม่
▪ ลูกค้ามีการเปลี่ยนแปลงความต้องการ ครั้งที่แล้วคุยไว้อย่างหนึ่งครั้งนี้คุยอีกอย่างหนึ่งเป็นต้น
◦ เครื่องมือที่ใช้
▪ LibreOffice จัดทำาเอกสาร
• การวิเคราะห์และออกแบบระบบ เป็นส่วนที่สองในการทำางานซึ่งจำาเป็นจะต้องมีการวิเคราะห์และออกแบบ
เสียก่อนถึงจะเริ่มเขียนโปรแกรมได้ เพราะถ้าขาดการออกแบบที่ดีนั้นจะส่งผลให้โปรเจ็คพัฒนาได้ชา้ ยิ่งกว่า
เดิม เนื่องจากไม่มีสรุป ข้อกำาหนด วิธีการทีชัดเจนให้นักพัฒนาในทีมว่าควรเขียนโปรแกรมอย่างไรในรูปแบบ
ไหน
◦ นำาความต้องการมาวิเคราะห์ด้วยเครื่องมือต่างๆ เพื่อแยกแยะว่าอะไรคือข้อมูลในระบบ ในระบบเกิด
พฤติกรรมอะไรบ้าง ระบบมีปฏิสัมพันธ์กับใครบ้างเป็นต้น เครื่องมือที่ใช้ในส่วนนี้เช่น Usecase
diagram, Class diagram
◦ ออกแบบระบบด้วยเครื่องมือต่างๆ ประกอบไปด้วย
▪ Class diagram ของข้อมูลในระบบ
▪ Class diagram ของพฤติกรรมต่างๆในระบบ
▪ Mock-up หน้าตาของระบบ
◦ จัดการตารางการทำางานว่าการพัฒนาแต่ล่ะส่วนของระบบจะใช้ทรัพยากรเท่าไหร่และใช้เวลาเท่าไหร่ ซึ่ง
จะทำาให้ทราบถึงต้นทุนคร่าวๆ ได้
◦ นำาเสนอลูกค้าเพื่อแก้ไขตามความต้องการ
◦ ปัญหาและอุปสรรคในส่วนนี้
▪ ประสบการณ์และความเข้าใจในตัวระบบมีความสำาคัญมากในการออกแบบ
▪ นักพัฒนาไม่ให้ความสำาคัญกับสิ่งนี้ทำาให้การพัฒนาระบบร่วมกันหลายๆคนทำาได้ยาก
◦ เครื่องมือที่ใช้
▪ OpenOffice จัดทำาเอกสาร
▪ StarUML ออกแบบ UML diagram
▪ Pencil สร้าง mock-up
▪ Gantt Project จัดการ Gantt chart
• การอิมพลีเมนต์ระบบ เป็นส่วนที่สำาคัญและใช้เวลาในการทำางานในส่วนนี้นานที่สุด นักพัฒนาจะต้องนำาสิ่งที่
ได้ออกแบบไว้มาทำาให้เกิดระบบที่สามารถใช้งานได้จริง โดยต้องมีความรู้ในภาษาที่ใช้งาน (Programming
Language) มีความเข้าใจในลอจิกของระบบ (Logic & Algorithm) มีความเข้าใจในเครื่องมือที่ใช้
(Tools)สามารถจัดการยูสเซอร์อินเตอร์เฟสได้ (User Interface) ตรวจสอบและแก้ไขข้อผิดพลาดของ
โปรแกรมได้ (Testing & Debugging) ปรับปรุงดูแลโค้ดให้สามารถดูแลจัดการได้งา่ ย (Code Refactoring)
ปรับปรุงประสิทธิภาพการทำางานของระบบได้ (Optimization)
◦ เครื่องมือที่ใช้เป็นหลัก
▪ Visual Studio IDE
▪ PostgreSQL, PgAdmin DBMS
▪ MySQL, PhpMyAdmin DBMS
▪ Bug tracker Bug Tracker System
▪ GIT Version Control System
◦ สร้างฐานข้อมูลด้วยภาษา SQL
◦ พัฒนาแอปพลิเคชั่นแบ่งเป็นแบบต่างๆดังนี้
▪ Windows Application
• ภาษาทีใช้ได้แก่ C#, XML
▪ Web Application
• ภาษาทีใช้ได้แก่ C#, JavaScript, HTML, Css, XML
• เครื่องมือที่ใช้เพิ่มเติมได้แก่ IIS (Web server), Google Maps API, Web Service
• Framework และ Library ที่ใช้ได้แก่ ASP.NET MVC, NHibernate, Jquery, Jquery UI,
JqGrid, Bootstrap, NPOI, React
▪ Mobile Application
• ภาษาทีใช้ได้แก่ C#, Java, Swift, Javascript
▪ อื่นๆ เช่น Linux, Embedded System, Computer Vision
• ภาษาทีใช้ได้แก่ C, C++, Shell Script
◦ ปัญหาและอุปสรรคในส่วนนี้
▪ การขาดทักษะในเรื่องต่างๆข้างต้น
▪ การขาดการประสานงานภายในทีม
• การทดสอบระบบ
◦ Manual test ด้วยการใช้คน
◦ Automated test ด้วยการใช้ Unit test, Integration test
• การติดตั้งระบบ
◦ กำาหนดสเป็คความต้องการของระบบ
◦ จัดทำาคู่มือเอกสาร
• การฝึกอบรม
◦ การฝึกอบรมภายใน
▪ การฝึกอบรมการใช้งานระบบแก่ฝา่ ยบริการ และฝ่ายขาย
▪ การฝึกอบรมเพิ่มทักษะของนักพัฒนาในแผนก
◦ การฝึกอบรมภายนอก
▪ เมื่อนำาเสนอระบบที่กำาลังพัฒนาอยู่ และต้องมีการอบรมการใช้งานเพื่อทดสอบระบบ
Illustration 2: รู ปแสดงถึงวงจรชีวิตของการพัฒนาซอฟต์ แวร์ (source : http://
www.stylusinc.com/down-to-earth-ideation/the-software-development-life-cycle-
sdlc/)
Q1 2018
• พัฒนาระบบ Billing
• ออกแบบส่วน GUI ของเว็บระบบ GPS Tracking ใหม่ (เอาท์ซอร์ส)
• พัฒนา Mobile App ของระบบ GPS Tracking ให้เสร็จสมสบูรณ์
• เริ่มต้นพัฒนาระบบ ITS เฟส 1 (เอาท์ซอร์ส)
• เริ่มต้นพัฒนาระบบ IOT เฟส 1 (เอาท์ซอร์ส)
Q2 2018
• ระบบ Billing แล้วเสร็จ
• เริ่มพัฒนารายงาน KPI พนักงานขับรถ
• ระบบ ITS เฟส 1 แล้วเสร็จ
• ระบบ IOT เฟส 1 แล้วเสร็จ
• เริ่มพัฒนาระบบ ITS เฟส 2
• เริ่มพัฒนาระบบ IOT เฟส 2
• เริ่มพัฒนา Mobile App Transport เฟส 2
Q3 2018
• รายงาน KPI พนักงานขับรถ แล้วเสร็จ
• ระบบ ITS เฟส 2 แล้วเสร็จ
• ระบบ IOT เฟส 2 แล้วเสร็จ
• เริ่มพัฒนาระบบตั้งค่าอุปกรณ์ผา่ นระบบ internet
Q4 2018
• Mobile App Transport เฟส 2
• ระบบตั้งค่าอุปกรณ์ผา่ นระบบ internet แล้วเสร็จ
2019
• พัฒนาระบบซอฟต์แวร์ Transportation Management System (TMS)
Illustration 5: รู ปแสดง timeline การพัฒนาโปรเจ็คต่ างๆ
ตัวอย่างเครื่องมือทีใ่ ช้ในการทำางาน
Illustration 9: Microsoft Visual Studio สำาหรั บพัฒนา Web API และ Web App
Illustration 10: Visual Studio Code สำาหรั บพัฒนา Web App และ Mobile App
ด้านการประสานงาน
• การประสานงานกับผู้ผลิตอุปกรณ์จากต่างประเทศนั้น ค่อนข้างมีความยากลำาบาก โดยเฉพาะการให้ทางผู้
ผลิตแก้ไขปรับปรุงซอฟต์แวร์ที่เกี่ยวข้อง มักจะประสบกับความล่าช้า และไม่สมบูรณ์
ด้านองค์ความรู้
• งานที่แผนกต้องมีการเชื่อมต่อกับอุปกรณ์ และซอฟต์แวร์ จากต่างประเทศเป็นจำานวนมากทำาให้ต้องมีการ
ศึกษาเอกสารข้อมูลเป็นภาษาอังกฤษ ซึ่งนักพัฒนาส่วนใหญ่เท่าที่ผเู้ ขียนเคยทำางานมาด้วยนั้น ส่วนใหญ่จะไม่
ค่อยถนัดด้านภาษาอังกฤษทำาให้เกิดความล่าช้าในการทำางาน
เปรียบเทียบระหว่าง In-House และ Outsourcing
In-house Outsourcing
ข้อดี ข้อดี
• ควบคุมได้โดยตรง • พัฒนาได้เร็ว
• ข้อมูลความลับไม่รั่วไหล • มีความเชี่ยวชาญ
• ติดต่อประสานงานสะดวก • ประหยัดค่าใช้จ่าย
• มาตราฐานการทำางานแบบเดียวกัน
ข้อเสีย ข้อเสีย
• ต้นทุนสูง • มีความเสี่ยงด้านข้อมูลที่เป็นความลับ
• ต้องมีการฝึกอบรม • ต้นทุนสูงกว่าในระยะยาว
• หาคนที่มีความเชี่ยวชาญได้ยาก • ขาดความต่อเนื่องในการพัฒนา
• ประสานงานลำาบากกว่า
• มาตรฐานการทำางานที่แตกต่างกันไป
ด้านการขนส่ง (Transportation)
• Vehicle Tracking System
• Fleet Management System
• Transportation Management System (TMS)
• Intelligent Transportation System (ITS)
ด้านการเกษตร (Agriculture)
• SmartFarming
ด้านสุขภาพ (Healthcare)
• Patient monitoring
• Enhanced Drug Management
• Health Tracking