กระบวนการดำเนินงานโครงการ (Project Process) ตาม Agile Method
Agile Methods เป็นการทำงานในรูปแบบของ Iterative Approach โดยเป็นการพัฒนาซอฟต์แวร์อย่างรวดเร็ว เพื่อจัดส่งให้กับลูกค้า ให้มีการตรวจทานความต้องการได้รวดเร็ว โดยความต้องการที่
เปลี่ยนแปลงจะถูกนำมาผนวก เพิ่มเข้าไปในการ Iterative ในครั้งถัดไป โดยภาพรวมแล้ว Agile Method มีหลักการและลักษณะที่สำคัญดังนี้
1. ต้องทำให้ลูกค้าพึงพอใจกับการส่งมอบงานที่มีคุณภาพอย่างรวดเร็ว และต่อเนื่อง
2. การให้ลูกค้ามีส่วนร่วม (Customer Involvement) คือ ลูกค้าต้องมีบทบาทใกล้ชิดในกระบวนการ พัฒนา เนื่องจากเราต้องเพิ่มความต้องการใหม่ตามความต้องการลูกค้า และพร้อมประเมินผลกระทบที่มีการเปลี่ยนแปลง
3. พร้อมรับความต้องการของลูกค้าที่เปลี่ยนแปลงอยู่ตลอดเวลา ถึงแม้ว่าจะเป็นช่วงท้ายๆ ของการพัฒนาก็ตาม ทั้งนี้เพื่อให้ลูกค้ามีความได้เปรียบทางการแข่งขันมากที่สุด โดยทีม Agile จะต้องเตรียมการเพื่อจัดการกับความเปลี่ยนแปลง (Embrace Change) คือ คาดการณ์เกี่ยวกับความต้องการของระบบที่ต้องมีการเปลี่ยนแปลง ดังนั้นควรออกแบบให้ระบบให้ครอบคลุมกับสิ่งเหล่านั้น
4. ทำให้ง่ายเข้าไว้ (Maintain Simplicity) คือ ไม่พยายามใช้เทคนิคในการพัฒนาที่มีความซับซ้อน เน้นความเรียบง่าย
5. ส่งมอบงานที่ใช้งานได้อย่างต่อเนื่องทุกๆสัปดาห์ ไปจนถึงทุกๆเดือน ทั้งนี้เวลาโดยรวมจะต้องไม่ยาวนานเกินไป
6. บุคลากรที่เป็นผู้ใช้และบุคลากรที่พัฒนาระบบจะต้องทำงานร่วมกันอย่างใกล้ชิดและต่อเนื่องจนเสร็จสิ้นโครงการ
7. สร้างแรงกระตุ้นให้กับบุคลากรที่เกี่ยวข้องกับโครงการ โดยสร้างสภาพแวดล้อมที่ดี และคอยสนับสนุนความต้องการ รวมถึงต้องเชื่อใจในแต่ละตัวบุคคลว่าจะสามารถทำงานที่ได้รับมอบหมายให้เสร็จสิ้นได้โดยใช้ศักยภาพสูงสุด
8. วิธีการแลกเปลี่ยนข้อมูลกันในทีมพัฒนาระบบที่มีประสิทธิภาพมากที่สุดคือการ พูด คุย พบปะ และสนทนากันทั้งที่เป็นทางการและไม่เป็นทางการ
9. ชิ้นงาน หรือ Work Product ที่ใช้งานได้เป็นตัววัดตัวแรกของความก้าวหน้าของโครงการ
10. เน้นการพัฒนาแบบค่อยเป็นค่อยไป ทั้งผู้สนับสนุนโครงการ ผู้พัฒนา และผู้ใช้ จะต้องทำงานร่วมกันด้วยความก้าวหน้าแบบคงที่ ได้โดยมีข้อจำกัดน้อยที่สุดหรือไม่มีเลย
11. การใส่ใจและการติดตามเทคนิคที่ทันสมัยและการออกแบบที่ดีอย่างต่อเนื่อง จะช่วยส่งเสริมประสิทธิภาพการพัฒนาระบบให้ดียิ่งขึ้น
12. โครงสร้าง ความต้องการ และการออกแบบที่ดีที่สุดเกิดขึ้นจากทีมงานพัฒนาที่มีการบริหารกันเอง
13. ทีมงานพัฒนาจะต้องทบทวนตัวเองว่าจะมีประสิทธิภาพเพิ่มขึ้นได้อย่างไร และจะต้องปรับเปลี่ยนพฤติกรรมตามข้อคิดเหล่านั้นตลอดเวลา
กระบวนการวิธีการดำเนินงาน ในการพัฒนาระบบ บริษัทจะนำมาตรฐานการดำเนินงานโครงการ CMMI และ Agile Methods มาใช้ โดยแบ่งเป็นระยะ (Phase) ต่างๆ ซึ่งในแต่ละระยะจะมีการกำหนดงาน
หน้าที่ความรับผิดชอบ และติดตามความก้าวหน้าเพื่อให้เป็นไปตามแผนงานที่วางไว้ และสามารถสรุปเป็นกระบวนวิธีการดำเนินงานโครงการได้ดังนี้
Get Requirement for Estimate Budget
- Activity
- คือสิ่งที่ระบบต้องสามารถดำเนินการได้ เช่น ถ้าเป็นระบบรับเงิน ก็ต้องมีหน้าจอสำหรับบันทึกการรับเงิน
- Process
- หมายถึง ขั้นตอนการดำเนินงานของระบบ หรือ คนที่เกี่ยวข้องการการทำงานใน Activity ดังกล่าว
- Executed
- หมายถึง การทำงานหลังบ้านของระบบ โดยเป็นการทำงานแบบ Auto เช่น การนำผลที่ได้จากการบันทึก มาทำงาน โอนเข้าไปในอีกระบบหนึ่ง
- Output
- หมายถึง ผลที่ได้จากการทำงานของระบบ เช่น report , เอกสารหลักฐาน