มีสิ่งหนึ่งที่ฉันสงสัยอยู่เสมอเมื่ออ่านเกี่ยวกับสิ่งที่ "การพัฒนาแบบคล่องตัว" ที่นี่ใน SE และไซต์อื่น ๆ :
ในวิศวกรรมซอฟต์แวร์ "ดั้งเดิม" คุณ
- รวบรวมความต้องการของผู้ใช้
- เขียนข้อมูลจำเพาะตามข้อกำหนดเหล่านี้
- มอบให้ลูกค้าและเรียกเก็บเงินจากเขาสำหรับงานที่ทำไปแล้ว
- ทำการออกแบบทางเทคนิค (หยาบ) เพื่อให้คุณสามารถประเมินค่าใช้จ่ายในการใช้งาน
- ให้ผู้ใช้เสนอราคาสำหรับการติดตั้ง
- รอให้ลูกค้าลงนามในข้อกำหนดและยอมรับข้อเสนอ
- ออกแบบดำเนินการทดสอบ
- บิล.
หากในระหว่างกระบวนการความต้องการเปลี่ยนแปลงคุณส่งข้อเสนอ (ราคา) สำหรับการเปลี่ยนแปลงที่ต้องการ (หรือทำฟรีหากการเปลี่ยนแปลงมีขนาดเล็กคุณชอบลูกค้าและลูกค้าไม่ได้ทำบ่อยเกินไป) .
ดังนั้นงานนี้ (ทางการเงิน) ในโครงการที่มีความคล่องตัวซึ่งการเปลี่ยนแปลงความต้องการบ่อยครั้งเป็นส่วนหนึ่งของกระบวนการอย่างไร
- คุณเขียนข้อเสนอสำหรับการเปลี่ยนแปลงการออกแบบทุกครั้งหรือไม่ (นี่จะไม่เป็นระเบียบหรือไม่)
- หรือคุณต่อรองราคาคงที่และหวังว่าลูกค้าจะไม่เปลี่ยนแปลงข้อกำหนดบ่อยเกินไป? (อาจมีความเสี่ยงฉันรู้ว่าลูกค้าที่จะใช้โอกาสนี้เพื่อขอคุณสมบัติใหม่เป็นเวลาหลายปีก่อนที่จะยอมรับว่าโครงการเสร็จสมบูรณ์)
- หรือคุณเพียงแค่เรียกเก็บเงินลูกค้าสำหรับเวลาทั้งหมดที่จำเป็น? (อาจเป็นความเสี่ยงสำหรับลูกค้าที่ไม่ทราบค่าใช้จ่ายล่วงหน้า)