#00147 Definition of Done หรือ DoD

Definition of Done หรือ DoD คือคำจำกัดความที่ชัดเจนและเป็นที่เข้าใจร่วมกันของทีมพัฒนา เกี่ยวกับสิ่งที่บ่งบอกว่างานนั้น "เสร็จ" สมบูรณ์แล้วในแต่ละขั้นตอนของกระบวนการพัฒนาซอฟต์แวร์ หรือผลิตภัณฑ์อื่นๆ ที่ใช้ Scrum ที่มาของ DoD มาจากปัญหาความเข้าใจที่ไม่ตรงกันระหว่างสมาชิกในทีมเกี่ยวกับความหมายของคำว่า "เสร็จ" เช่น โปรแกรมเมอร์อาจคิดว่าการเขียนโค้ดเสร็จคือเสร็จ แต่ Tester อาจคิดว่าต้องทดสอบและไม่มีบั๊กจึงจะเรียกว่าเสร็จ DoD จึงถูกสร้างขึ้นเพื่อกำหนดมาตรฐานเดียวกันว่างานนั้นต้องมีคุณสมบัติอะไรบ้างจึงจะถือว่าเสร็จสมบูรณ์

DoD ช่วยแก้ปัญหาความคลุมเครือและความเข้าใจผิดที่อาจเกิดขึ้นระหว่างการทำงาน ทำให้ทีมทำงานไปในทิศทางเดียวกันและมั่นใจได้ว่างานที่ส่งมอบมีคุณภาพตามที่ตกลงกันไว้ DoD ช่วยลดปัญหาการทำงานซ้ำซ้อน การส่งงานกลับไปกลับมา และการเกิดความขัดแย้งภายในทีม นอกจากนี้ DoD ยังช่วยเพิ่มความโปร่งใสในกระบวนการทำงาน ทำให้ทุกคนในทีมและผู้มีส่วนเกี่ยวข้องอื่นๆ เข้าใจสถานะของงานได้อย่างชัดเจน

พัฒนาการของ DoD เริ่มจากคำจำกัดความง่ายๆ เช่น "โค้ดเขียนเสร็จ" ไปสู่คำจำกัดความที่ละเอียดและครอบคลุมมากขึ้น เช่น "โค้ดเขียนเสร็จ ผ่านการทดสอบหน่วย ผ่านการรีวิวโค้ด มีเอกสารประกอบ และได้รับการยอมรับจาก Product Owner" ปัจจุบัน DoD มักจะรวมถึงเกณฑ์ต่างๆ เช่น การทดสอบ การตรวจสอบคุณภาพ การจัดทำเอกสาร และการส่งมอบงานตามมาตรฐานที่กำหนด

วิธีการทำงานของ DoD คือทีมพัฒนาจะร่วมกันกำหนด DoD ในช่วงเริ่มต้นของโครงการหรือ Sprint และจะมีการทบทวนและปรับปรุง DoD อย่างสม่ำเสมอ DoD จะถูกใช้เป็นเกณฑ์ในการตรวจสอบงานในระหว่าง Sprint และในการ Sprint Review เพื่อยืนยันว่างานที่ส่งมอบนั้นตรงตามมาตรฐานที่กำหนด แนวโน้มของ DoD ในปัจจุบันคือการนำเครื่องมืออัตโนมัติมาช่วยในการตรวจสอบความสอดคล้องกับ DoD เช่น การใช้เครื่องมือ Static Code Analysis หรือการทำ Automated Testing เพื่อเพิ่มประสิทธิภาพและความแม่นยำในการตรวจสอบ