“เคยเจอเหตุการณ์เหล่านี้ไหม” ถึงเวลาเทสแล้วโปรแกรมเมอร์ยังไม่ส่งมาให้เทส จนต้องพูดกดดันว่า “เมื่อไหร่จะได้… เทส!!!” คำที่เหล่าโปรแกรมเมอร์คุ้นหู จนสุดท้ายไม่มีเวลาพอที่จะเทส ซึ่งจริงๆ แล้วปัญหาเหล่านี้ เราสามารถแก้ไขได้ด้วยการคิดวิเคราะห์อย่างรอบครอบ นั่นก็คือวัฏจักรของการพัฒนาระบบ ที่จะมาเล่าให้ฟังกันในวันนี้
ขอยกตัวอย่างเหตุการณ์สมมุติที่โปรแกรมเมอร์ติดปัญหาของการกะเวลา และเขียนโปรแกรมผิด จึงส่งงานให้เทสช้า เทสเตอร์ ส่วนใหญ่มักจะใช้คำว่า “เมื่อไหร่จะได้… เทส!!!” เพื่อกดดันโปรแกรมเมอร์ เวลาที่ส่งงานช้าาาา… มว๊ากกก!!!
เมื่อถึงช่วงเวลาที่ตกลงกันว่าโปรแกรมจะเสร็จพร้อมเทส
เทสเตอร์ : พี่ครับพี่ ..ถึงไทม์ไลน์ที่ผมจะต้องได้เทสแล้ว โปรแกรมเทสได้แล้วใช่ไหมครับ
โปรแกรมเมอร์ : ยังเลยน้อง พี่กำลังรีบ ขอเวลาสักครึ่งวันนะ
เทสเตอร์ : ห่ะ.. ครึ่งวันเลยหรอครับ แต่นี่ถึงไทม์ไลน์ที่ผมต้องเทสแล้วนะครับ
โปรแกรมเมอร์ : ใช่ๆ ติดปัญหานิดหน่อยอ่ะน้อง รอก่อนนะ
ผ่านไปครึ่งวัน…
เทสเตอร์ : พี่ครับ ถึงเวลาที่พี่บอกแล้ว โปรแกรมเสร็จแล้วใช่มั้ยครับ
โปรแกรมเมอร์ : ใกล้แล้วๆ อีกนิดเดียวนะใกล้เสร็จแล้ว
เทสเตอร์ : โห…พี่ แล้วเมื่อไหร่ผมจะได้เทสอ่ะครับ
โปรแกรมเมอร์ : ใจเย็นๆ นะได้เทสแน่นอน เดี๋ยวทำเสร็จแล้วจะรีบบอกเลย
ผ่านไปอีก 3 ชั่วโมง…
เทสเตอร์ : เมื่อไหร่ผมจะได้เทสครับพี่ (น้ำเสียง ดุดัน)
โปรแกรมเมอร์ : กำลังดีพลอยแล้ว.. ใจเย็นๆ นะ อีกแปปเดียวก็ได้เทสแล้ว
เทสเตอร์ : ชัวร์นะครับพี่ ผมจะไม่มีเวลาเทสแล้ว
ผ่านไปอีกสักพัก…
เทสเตอร์ : เมื่อไหร่ผมจะได้เทสอ่ะครับ.. พรี่ T_T(ทำเสียง จะร้องไห้)
…1 วันต่อมา
โปรแกรมเมอร์ : พี่ส่งให้เราเทสแล้วนะ พี่กะเวลาผิดไปนิดหน่อย แล้วก็มีบางฟังก์ชั่นที่รีควายเม้นไม่ชัดเจนเลยต้องเพิ่มเงื่อนไขใหม่
เทสเตอร์ : ครับๆ เดี๋ยวผมจะรีบเทสเลยคับ..
เมื่อถึงกำหนดส่งงาน
เทสเตอร์ : ยังเทสไม่เสร็จเลยครับ.. แย่แล้ว!!! (คิด.. ให้เดฟช่วยเทสจะทันมั้ย หรือส่งงานไปทั้งๆ แบบนี้เลย)
. . .
เทสเตอร์ : ต้องอยู่เทสเองจนดึกซินะ (…เสียชีวิต!!!)
จากเหตุการณ์ที่ยกตัวอย่างขึ้นมานี้ หากไม่มีการคิดวิเคราะห์และวางแผนการทำงานอย่างรอบครอบ จะก่อให้เกิดปัญหาต่างๆ ตามมา ซึ่งมีผลกระทบต่อระบบและคนที่รับผิดชอบงานด้านนั้นๆ ด้วย
วัฎจักรการพัฒนาระบบ คืออะไร!!?
วัฎจักรการพัฒนาระบบ (System development Life Cycle : SDLC) คือ ขั้นตอนหรือกระบวนการทางความคิดในการพัฒนาระบบ เพื่อแก้ปัญหาทางธุรกิจและตอบสนองความต้องการของผู้ใช้งาน โดยระบบที่พัฒนานั้น อาจจะเริ่มจากการพัฒนาระบบใหม่เลยหรือนำระบบเดิมที่มีอยู่แล้วมาปรับเปลี่ยนให้ดียิ่งขึ้นก็ได้ ซึ่งวัฏจักรของการพัฒนาระบบมีลำดับขั้นตอนวงจรชีวิตที่เหมือนกันตั้งแต่ต้นจนจบ
การพัฒนาระบบที่มีคุณภาพ ประกอบไปด้วยขั้นตอนหลักๆ ดังนี้
1. การวิเคราะห์ (Analysis)
เป็นการตีความ หรือกำหนดเป้าหมายของระบบที่เราจะสร้างขึ้นมา รวมถึงการกำหนดปัญหาต่างๆล่วงหน้า เพื่อป้องกันก่อนที่ปัญหานั้นๆจะเกิดขึ้น
2. การออกแบบ (Design)
เป็นการอธิบายรูปแบบของการทำงานของระบบ รวมถึงแผนผังลำดับโครงสร้างของโปรแกรม เพื่ออธิบายรายละเอียดต่างๆ ให้กับนักพัฒนาในการเขียนโปรเเกรม
3. การเขียนโปรแกรม (Coding)
เป็นการเขียนโปรแกรมเพื่อให้เกิดเป็นรูปเป็นร่างโดยนักพัฒนา ซึ่งโปรแกรมจะต้องสามารถทำงานได้จริงบนอุปกรณ์ต่างๆ นักพัฒนาจะต้องเขียนโปรแกรมให้ออกมาเรียบง่ายไม่ยุ่งยากจนเกินไป และสามารถให้นักพัฒนาคนอื่นนำไปประยุกต์หรือแก้ไขได้
4. การทดสอบ (Testing)
เป็นการทดสอบระบบว่าสามารถทำงานได้ตามที่นักพัฒนาเขียนโปรแกรมไว้ รวมถึงสามารถทำงานได้อย่างถูกต้องตามที่ออกแบบ และการทดสอบนี้เป็นการช่วยหาและลดการเกิดข้อผิดพลาดของระบบที่อาจจะเกิดขึ้นได้ ก่อนที่เราจะนำไปใช้งานจริง
ปล. ขั้นตอนดังกล่าวนี้เป็นเพียงแค่ส่วนหนึ่งของการพัฒนาระบบ ที่ขึ้นอยู่กับมุมมองและการนำเสนอของนักพัฒนาระบบ เพื่อให้สามารถทำงานได้อย่างถูกต้อง และสามารถเพิ่มเติมได้โดยไม่ซับซ้อนในการทำงานของระบบ SDLC
#ผิดพลาดประการใดขออภัยไว้ณที่นี้