SDLC คืออะไร: ขั้นตอนการพัฒนาซอฟต์แวร์ตั้งแต่เก็บ Requirement จนถึง Maintenance
ทำความเข้าใจวงจรชีวิตซอฟต์แวร์ตั้งแต่กำหนดปัญหา ออกแบบ พัฒนา ทดสอบ เปิดใช้ จนถึงดูแลต่อ พร้อมตัวอย่างงานที่ตรวจได้ในแต่ละช่วง

SDLC (Software Development Life Cycle) คือกรอบสำหรับจัดงานพัฒนาซอฟต์แวร์ตลอดอายุโครงการ ตั้งแต่เข้าใจปัญหาและความต้องการ ไปจนถึงออกแบบ สร้าง ทดสอบ เปิดใช้งาน และดูแลหลังเปิด จุดสำคัญไม่ใช่การบังคับให้ทุกทีมทำเอกสารชุดเดียวกัน แต่คือการรู้ว่าแต่ละช่วงต้องตัดสินใจอะไร มีหลักฐานอะไร และใครรับผิดชอบ
SDLC แก้ปัญหาอะไร
หากทีมเริ่มเขียนโค้ดจากคำขอว่า “ขอระบบจัดการงาน” โดยไม่รู้ว่าใครสร้างงาน ใครอนุมัติ หรือจะวัดความสำเร็จอย่างไร ทีมอาจทำหน้าจอครบแต่ใช้กับกระบวนการจริงไม่ได้ SDLC ช่วยให้ปัญหาเหล่านี้ถูกถามและทดสอบก่อนต้นทุนการแก้ไขสูงขึ้น รวมถึงทำให้ฝ่ายธุรกิจและฝ่ายพัฒนาตรวจงานจากหลักฐานเดียวกัน

ภาพที่ 1: SDLC เชื่อมการตัดสินใจเรื่องโจทย์ การสร้างระบบ และการเรียนรู้จากการใช้งานจริงเป็นวงจรเดียวกัน
ช่วงงานหลักของวงจร
กรอบที่นิยมอธิบายมีเจ็ดช่วง ได้แก่ วางแผน วิเคราะห์ความต้องการ ออกแบบ พัฒนา ทดสอบ เปิดใช้ และดูแลรักษา แต่จำนวนช่วงและชื่อเรียกอาจต่างกันตามองค์กร ช่วงเหล่านี้ไม่ได้หมายความว่าต้องจบทั้งหมดตามลำดับครั้งเดียว: ทีมที่ทำงานแบบ Iterative อาจกลับไปปรับ Requirement และ Design ในรอบถัดไปหลังทดลองกับผู้ใช้
สิ่งที่ควรเชื่อมกันคือ Requirement → วิธีออกแบบ → การทดสอบ → ผลหลังเปิดใช้ ถ้าระบบระบุว่าผู้ใช้เห็นเฉพาะข้อมูลตนเอง การออกแบบต้องกำหนดเจ้าของข้อมูล การทดสอบต้องลองเปิดข้อมูลคนอื่น และการดูแลต้องมีวิธีตรวจเมื่อสิทธิ์ผิดพลาด
ตัวอย่างสมมติ: ระบบติดตามคำขอภายใน
ทีมเริ่มจากปัญหาว่าคำขอจากหลายช่องทางตกหล่น จึงกำหนดเป้าหมายให้ทุกคำขอมีเลขอ้างอิงและผู้รับผิดชอบ จากนั้นสัมภาษณ์ผู้ยื่นกับเจ้าหน้าที่ ออกแบบสถานะและสิทธิ์ สร้างงานหลักตั้งแต่ส่งจนปิดคำขอ ทดสอบกรณีข้อมูลไม่ครบและงานซ้ำ เปิดใช้กับกลุ่มที่ดูแลได้ แล้วเก็บข้อผิดพลาดเพื่อปรับรอบต่อไป ตัวอย่างนี้เป็นภาพประกอบวิธีคิด ไม่ใช่ผลการดำเนินงานของลูกค้าจริง
ใช้ SDLC ในรายงานอย่างไร
รายงานควรระบุขอบเขตโครงการ ผู้มีส่วนเกี่ยวข้อง สิ่งส่งมอบและเกณฑ์ตรวจของแต่ละช่วง พร้อมแสดงว่าความต้องการหนึ่งข้อเชื่อมถึงการทดสอบอย่างไร หากโครงการยังไม่เปิดใช้ ให้แยกผลที่ทดสอบในห้องทดลองออกจากผลที่เกิดกับผู้ใช้จริง อย่าสรุปว่าระบบสำเร็จเพียงเพราะพัฒนาเสร็จ
อ่านต่อเรื่อง 7 ขั้นตอนและสิ่งส่งมอบของ SDLC หรือดู บริการพัฒนา Web Application สำหรับการวางระบบตามโจทย์ธุรกิจ
วิเคราะห์กรณีศึกษาเพื่อนำไปเขียนรายงาน
ลองกำหนดกรณีศึกษาเป็น ระบบรับคำขอภายในองค์กรตั้งแต่รับปัญหาจนถึงแก้ไขหลังเปิดใช้ และเขียนขอบเขตให้ชัดว่ามีผู้ใช้กลุ่มใด ข้อมูลใดเข้าสู่ระบบ และต้องการผลลัพธ์อะไร เริ่มจากสภาพก่อนพัฒนา แล้วอธิบายการตัดสินใจที่บทความนี้เกี่ยวข้องโดยใช้ตัวอย่างข้อมูลหรือเหตุการณ์ที่สมมติขึ้นอย่างระบุว่าเป็นตัวอย่าง การกำหนดขอบเขตเช่นนี้ช่วยให้ผู้อ่านแยกหลักการทั่วไปออกจากข้อเท็จจริงของโครงการได้
หลักฐานที่ควรแสดงคือ แผนกิจกรรม ผู้รับผิดชอบ และผลส่งมอบของแต่ละช่วง ควรอธิบายสัญลักษณ์ คำย่อ หรือเงื่อนไขในหลักฐานนั้นให้ผู้อ่านที่ไม่อยู่ในทีมเข้าใจ และบอกว่ามันเชื่อมกับ Requirement ข้อใด ถ้ามีหลายทางเลือก ให้ระบุเหตุผลที่เลือกทางหนึ่งและผลกระทบต่อผู้ใช้ ทีมพัฒนา หรือผู้ดูแลระบบ แทนการเขียนเพียงว่าใช้แนวทางที่ “ดีที่สุด” โดยไม่มีเกณฑ์เปรียบเทียบ
เกณฑ์ประเมินตัวอย่างคือ งานที่ส่งมอบผ่านเกณฑ์รับงานและมีช่องทางรับปัญหาหลังเปิดใช้ ส่วนข้อจำกัดที่ต้องระบุคือ วงจรจริงอาจย้อนกลับไปแก้ Requirement ได้ ไม่ใช่เส้นตรงเสมอ หากยังไม่ได้ทดลองกับผู้ใช้หรือข้อมูลจริง ให้เขียนว่าเป็นข้อเสนอเชิงออกแบบ ไม่สรุปเป็นผลที่พิสูจน์แล้ว การมีทั้งเกณฑ์และข้อจำกัดช่วยให้รายงานตรวจสอบเหตุผลได้ และเปิดทางให้ผู้อื่นนำกรณีเดียวกันไปทดสอบซ้ำในบริบทของตน
แหล่งข้อมูลประกอบ
- IBM: What is the software development life cycle? — คำอธิบายวงจรและรูปแบบการทำงานหลายแบบ
- ISO/IEC/IEEE 29148: Requirements engineering — ขอบเขตของงานวิศวกรรมความต้องการตลอดวงจร