Day-Zero Software Process™ คือ กระบวนการผลิตซอร์ฟเวร์ที่ทำการทดสอบในขณะทำการออกการออกแบบโดยไม่ต้องรอการเขียนโปรแกรมเสร็จ (Day-Zero Acceptance Test – DAT )
การเขียนโปรแกรมที่ดีควรวางแผนการทดสอบตั้งแต่วันแรก (Day One) ของการเขียนโปรแกรม การวางแผนการทดสอบทำให้รู้ว่าโปรแกรมนั้นๆ ควรทำงานอย่างไร และได้ผลอย่างไร การทดสอบถือเป็นเครื่องมือที่สำคัญในการกำหนดคุณภาพของซอร์ฟแวร์
กระบวนพัฒนาซอร์แวร์ที่มีอยู่ในปัจจุบันมีการทดสอบหลักอยู่ 3 ขั้นตอนหลัก คือ Unit Test ซึ่งเป็นการทดสอบในระดับโปรแกรมย่อยๆ, SIT ( System Integration Test ) เป็นการทดสอบในระดับโปรแกรมเช่นเดิมแต่เน้นการทำงานระหว่างโปรแกรม และ UAT ( User Acceptest Test ) เป็นการทดสอบการทำงานตามข้อกำหนดของผู้ใช้งานในสภาพการทำงานใกล้เคียงสภาพการทำงานจริงแลผลการทดสอบต้องได้รับการยอมรับจากผู้ใช้งาน
กระบวนการผลิตที่มีในปัจจุบัน มีข้อบกพร่อง ดังนี้ :
- รอโปรแกรมให้เขียนเสร็จก่อนจึงจะทำการทดสอบได้ แม้เริ่มวางแการทดสอบตั้งแต่ Day One คือก่อนการเขียนโปรแกรม แต่การทดสอบได้ก็ต้องรอโปรแกรมเสร็จก่อนอยู่ดี
- ไม่มีข้อกำหนดการแยก business requirement/rule ออกจากโปรแกรม UI ส่วนใหญ่เลือกที่จะเขียน business rule หรือ requirement ฝังไว้ในโปรแกรม UI เลย ส่วนฐานข้อมูลทำหน้าที่เพียงเก็บข้มูล ทำให้เกิดความซับซ้อนออกแบบ, เพิ่มความสับสนในการสื่อสาร, เพิ่มความยากการเขียนโปรแกรมและ ยุ่งยากในการเตรียมและทดสอบ แม้นำ UML เข้ามาช่วยในการออกแบบแต่ก็เพิ่มงานในส่วนนี้
- มีแนวโน้มเกิดปัญหาได้ง่ายและยากต่อการบำรุงรักษาระบบ ใช้เวลานานในการแก้ไขโปรแกรมหรือปรับเปลียนความต้องการ
กระบวนการผลิต Day-Zero Software Process™ มีข้อดี ดังนี้ :-
- สามารถทดสอบระบบงานได้ตั้งแต่ขั้นตอนออกแบบ ไม่ต้องรอโปรแกรม ถือเป็น Day Zero คือไม่มีโปรแกรมก็สามารถทดสอบได้เลยว่าการออกแบบเป็นไปตามข้อกำหนด Requirement หรือไม่
- เนื่องจากต้องทดสอบในระดับการออกแบบ ดังนั้นในระหว่างการออกแบบจึงต้องเขียน business requirement/rule ควบคู่ไปกับการออกแบบโครงสร้างข้อมูล ทำให้แยกงานส่วนนี้เสร็จก่อนและแยกออกจากการเขียนโปรแกรม UI โดยเด็ดขาด ทำให้ง่ายต่อการเขียนโปรแกรม UI และง่ายต่อการทดสอบ Unit Test
- โอกาสเกิดปัญหาน้อยมาก แต่หากมีปัญหาสามารถระบุและแก้ไขปัญหาได้เร็ว เพราะ การทำงานแยกหน้าที่กันเด็ดขาดระหว่างโปรแกรมและฐานข้อมูล การบำรุงรักษาหรือการปรับเปลียนเพิ่มเติมทำได้ง่ายเพราะเลือกเพิ่มเติมหรือแก้ไขได้ทั้งจากด้าน UI หรือ ฐานข้อมูล หรือทั้งสองด้าน
กระบวนการผลิตนี้บริษัทได้ทำการทดสอบและใช้งานจริง ถือเป็นนวัตกรรมและเป็นหนึ่งในเทคโนโลยี่ของบริษัท