Software development process

การพัฒนา software นั้นมีปัญหากันมากเรื่องของงานจะเสร็จหรือไม่เสร็จ ซึ่งมันก็เกิดมาจากหลายปัญหามากมาย ทั้งเล็กและใหญ่ไม่ใช่แค่ว่าการเขียนโปรแกรมแบบธรรมดา มันรวมไปหมดทุกอย่างที่เป็นโปรแกรมนั่นแหละ

การพัฒนา software จริงๆแล้ว แบ่งออกเป็นช่วงๆ ของงานที่ที่ได้ 5 ส่วนคือ

  1. Requirement
  2. Design
  3. Implement
  4. Verification
  5. Maintenance

ซึ่งจะเป็นการทำงานดังกราฟแบบนี้

Waterfall model

Waterfall model จาก wikipedia

ที่เห็นไปคือ Waterfall Model เป็นรูปแบบการทำงานแบบหนึ่งที่ทำเป็นขั้นตอนไปเรื่อยๆ จาก Requirement ไปจนถึง Maintenance ซึ่งจะเห็นได้ว่ามัน perfect มากๆ คือ ทำทำเดียวเสร็จ

ในคความเป็นจริงแล้วมันไม่เสร็จแบบนั้น ด้วยปัญหามากมาย ยกตัวอย่างเช่น

  • ทีมผู้พัฒนา ส่งผู้เก็บ Requirement ไปไม่เพียงพอ ทำให้ได้รับ Requirement ไม่ชัดเจน ทำให้ Design ผิดแบบ
  • ผู้เก็บ Requirement ไปเก็บ Requirement อย่างดี แต่ผู้ที่ให้ Requirement นั้นผิดพลาดเองบอก Requirement ไม่ถูกต้อง หรือ ถ้าเป็น software ใหม่ ก็ไม่มีจุดประสงค์ที่แน่นอน ทำให้เกิดความกำกวมตั้งแต่ Requirement
  • การ Design ที่ผิดพลาดทำให้ Implement ผิดพลาด
  • อื่นๆอีกมากมายในการทำงานแต่ละขั้นตอน

การที่เกิดข้อผิดพลาดต่างๆพวกนี้ เพราะเกิดจากประสบการณ์การทำงานที่ไม่เพียงพอ หรือ มาจากความประมาท ทำให้ Process ต่อไปนั้นออกมาผิดพลาด

ปกติแล้วทางทีมผู้ Implement นั้นจะเกิดปัญหาก็ปัญหาภายใน ทำให้แก้ไขอะไรภายในตัวเองได้ (เช่นบริษัทรับทำ Software ) แต่การผิดพลาดขั้นต้นคือผู้ให้ Requirement กับ ผู้เก็บ Requirement เป็นปัญหาที่ใหญ่ที่สุด

ทำให้ Waterfall model นั้นไม่ใช่น้ำตกอีกต่อไป แต่กลับกลายเป็น น้ำตกและน้ำย้อนกลับได้ไปสู่ Process ก่อนหน้านี้จากว่าจะเสร็จ

จำไว้ว่า คิดให้ดีก่อน น้ำจะตก จะทำให้น้ำไม่ใหลย้อนกลับ อิอิ

Leave a Reply

You must be logged in to post a comment.