Iterative Development
Iterative Development คือ การแบ่งงานเป็น iteration หรือ phase ที่มีเวลาจำกัดประมาณ 2-6 สัปดาห์ โดยจะมีลักษณะเป็น “timeboxed” คือถ้าเราตั้งเวลาเอาไว้เท่าไรจะต้องทำงานให้เสร็จภายในเวลาเท่านั้นห้ามเกิน แต่ถ้าหากทำไม่เสร็จสามารถลดสโครปงานลงแล้วใส่ใน iteration ถัดไปได้ ซึ่งการทำงานแบบ iteration ใช้หลักการในการวางแบบแผนงานก่อนที่จะเริ่มทำ iteration และเป็นการกระจายความเสี่ยงระหว่าง phase แต่ความเสี่ยงยังคงเท่าเดิม
กระบวนการทำงานของ Iterative
- จัดทำ Requirement จากลูกค้า เป็นแบบ timeboxed โดยให้ฝ่ายขายกับโปรแกรมเมอร์เป็นผู้รับ Requirement ของลูกค้า
- ทำการวางแผนของตัวระบบงานและกำหนด timeboxed เอาไว้ให้ชัดเจน
- ทำการวิเคราะห์ตัวระบบงาน ดึง feature หลักๆหัวใจของโปรแกรมขึ้นมาก่อน
- ก่อนจะเริ่มทำ Iteration ให้แบ่งงานบางส่วนมาออกแบบและสร้างไว้ใน iteration ถัดไป เนื่องจากสโครปงานอาจจะใหญ่จนเกินไป
- ทำการแบ่งงานให้กับแต่ละฝ่ายและอธิบายถึงตัวโปรเจ็ค ไม่ว่าจะเป็นในส่วนของ programmer หรือ design ต่างๆ
- ทำการทดสอบโปรแกรมด้วยวิธีการต่างๆ
- ก่อนจะหมด iteration ให้สำรวจงานว่าทำเสร็จหมดหรือไม่ ถ้ายังไม่เสร็จให้ลดสโครปงานลงและนำไปใส่ไว้ใน iteration ถัดไป
- นำตัว demo ไปให้ลูกค้าได้ทดลองใช้และขอ feedback จากลูก
- รับ Requirement ครั้งที่ 2
- ทบทวนผลลัพธ์และรายงาน
- ทำวนตั้งแต่ข้อ 1-3 ซ้ำกันหลายๆครั้ง
- เมื่อจัดทำตามที่ลูกค้า Requirement ได้เสร็จหมดแล้ว ก็ส่งมอบงานให้กับลูกค้า
ตัวอย่างการทำงานแต่ละขั้นตอน
ข้อดีของการทำงานแบบ Iterative
- ทำงานได้สำเร็จมากขึ้นและตัวโปรแกรมมีปัญหาน้อยลง
- จัดการความเสี่ยงได้ตั้งแต่เนิ่นๆ
- ลดความซับซ้อนของตัวระบบ เพราะได้ทำการแบ่งงานเป็นระบบย่อยๆ ทำให้ทำงานง่ายขึ้น
- ได้รับ feedback และการทดลองใช้ได้เร็ว ทำให้ได้ระบบที่ตรงกับความต้องการของผู้ใช้มากขึ้น
ข้อเสียของการทำงานแบบ Iterative
- เกิด Bottle necking คือ ถ้า phase แรกทำงานล่าช้าจะทำให้ขึ้น phase 2ไม่ได้
- มักจะ Over-commitment เพราะการ estimate ทำงานได้ยาก เพราะแต่ละ phase จะเกี่ยวเนื่องต่อกัน
- หลุดจาก end goal ได้ง่าย เพราะทุกคนในทีมจะเน้นไปที่การจบ phase แต่จะยังใช้งานไม่ได้ จะต้องทำให้จบทั้งโปรเจ็คก่อน
รายชื่อ
- นางสาวพรกมล นิธิศิริไพศาล 1550503674
- นางสาวศิริพร สันตะ 1560900674
- นางสาวพรพรรณ อภิชัยพร 1560900761
- นาวสาวนิรันตรี ครองสนั่น 1560900860