Definition of Ready & Definition of Done
คำว่า 'พร้อมเริ่ม' และ 'เสร็จแล้ว' ฟังดูเหมือนง่าย แต่ถ้าทีมไม่มีเกณฑ์ร่วมกัน สองคำนี้จะสร้างความเข้าใจไม่ตรงกันตลอด บทนี้พาคุณดูว่า DoR และ DoD ช่วยให้ทีม Agile ส่งมอบงานได้มีคุณภาพขึ้นอย่างไร
จบบทนี้แล้วคุณจะ...
- อธิบาย Definition of Ready และ Definition of Done ได้ชัดขึ้น
- เห็นตัวอย่าง checklist ที่ใช้ได้จริงในบริบททีม software
- เข้าใจบทบาทของ QA ในการช่วยตั้งและรักษามาตรฐานของทั้งสองอย่าง
- แยกให้ออกว่าอะไรคือ story ที่ยังไม่ ready และอะไรคือ story ที่ยังไม่ done
- ใช้ DoR/DoD เป็นเครื่องมือป้องกัน rework แทนการมองว่าเป็นเอกสารพิธีกรรม
เพราะคำว่า "พร้อม" และ "เสร็จ" ถ้าไม่ตกลงร่วมกัน จะตีความกันคนละโลก
ลองดูคำพูดที่เจอบ่อยในหลายทีม:
- "story นี้พร้อมแล้ว เอาเข้า sprint ได้"
- "งานนี้เสร็จแล้ว ส่ง QA ได้"
- "done แล้ว รอแค่ deploy"
ปัญหาคือแต่ละคนอาจหมายถึงคนละอย่าง
คำว่า ready
บางคนหมายถึง:
- มี title แล้ว
- มี acceptance criteria แล้ว
- dev พอเริ่มได้แล้ว
แต่ QA อาจมองว่า:
- criteria ยัง test ไม่ได้
- dependency ยังไม่ชัด
- ยังไม่มี mockup
คำว่า done
dev อาจหมายถึง:
- code เขียนเสร็จ
- merge แล้ว
แต่ทีมอาจยังต้องการอีก:
- QA ผ่าน
- regression ผ่าน
- deploy staging แล้ว
- PM review แล้ว
ดังนั้น DoR และ DoD มีไว้เพื่อลดพื้นที่ของการตีความไม่ตรงกัน
เกณฑ์ว่า story นี้พร้อมพอจะเริ่มทำหรือยัง
DoR ช่วยป้องกันการเอา story ที่ยังไม่ชัดเข้า sprint แล้วไปเสียเวลาคุยกันกลางทาง
ตัวอย่าง checklist ของ DoR
| ข้อ | สิ่งที่ควรมี | ทำไมสำคัญ |
|---|---|---|
| 1 | user story หรือ problem statement ชัด | รู้ว่ากำลังแก้ปัญหาอะไร |
| 2 | acceptance criteria testable | QA และ dev ตีความตรงกัน |
| 3 | dependency ระบุแล้ว | ลดการ block กลาง sprint |
| 4 | ขนาด story เล็กพอ | ไม่กลายเป็นงานค้าง |
| 5 | mockup / API contract พร้อม ถ้าจำเป็น | ลด assumption ระหว่างทีม |
| 6 | คำถามสำคัญจาก refinement ถูกตอบแล้ว | ลด rework กลางทาง |
มองจากมุม QA
QA มีบทบาทมากใน DoR เพราะมักเป็นคนเห็นก่อนว่า criteria ยัง test ไม่ได้ เช่น:
- คำว่า "เร็ว", "เหมาะสม", "ปลอดภัย" ยังไม่ชัด
- failure path ไม่ถูกพูดถึง
- state เปลี่ยนแล้วควรเกิดอะไรยังไม่รู้
ถ้า QA ไม่ flag ตรงนี้ story อาจเข้า sprint ไปทั้งที่จริงยังไม่ ready
เกณฑ์ว่า story นี้เสร็จพอจะนับเป็นเสร็จจริงหรือยัง
DoD ช่วยป้องกันไม่ให้ทีมเรียกงานที่ยังค้างเรื่องสำคัญว่า "เสร็จแล้ว"
ตัวอย่าง checklist ของ DoD
| หมวด | ตัวอย่างสิ่งที่ควรผ่าน |
|---|---|
| Code | code review ผ่าน, CI ผ่าน, ไม่มี linter error |
| Test | acceptance criteria ผ่าน, regression ที่เกี่ยวข้องผ่าน, ไม่มี critical bug ค้าง |
| Environment | deploy staging สำเร็จ, smoke ผ่าน |
| Docs | docs/update notes พร้อมถ้าจำเป็น |
| Business | PM/PO review แล้วในกรณีที่ต้อง sign-off |
ประเด็นสำคัญ
DoD ไม่ได้เหมือนกันทุกทีม
ทีม startup อาจใช้ DoD ที่เบากว่า แต่ระบบที่มี compliance หรือ financial risk สูง อาจต้องมี DoD เข้มขึ้น
เป้าหมายไม่ใช่ให้ทุกทีมมี checklist ยาวที่สุด แต่คือให้ทีมมีมาตรฐานที่เหมาะกับความเสี่ยงของงาน
| เรื่อง | DoR | DoD |
|---|---|---|
| ใช้ตอนไหน | ก่อนเริ่ม | ก่อนปิดงาน |
| ช่วยป้องกันอะไร | rework จาก story ไม่ชัด | quality leak จากงานที่ยังไม่เสร็จจริง |
| คนที่ได้ประโยชน์ | ทั้งทีมก่อนลงมือ | ทั้งทีมก่อนส่งต่อหรือปล่อยจริง |
| มุมของ QA | criteria และ testability | coverage, defect status, release risk |
จำแบบสั้น
- DoR = "พร้อมให้เริ่มหรือยัง"
- DoD = "พร้อมให้นับว่าเสร็จหรือยัง"
"มี DoR/DoD แล้วทีมจะช้าลง"
จริง ๆ ถ้าทำดี จะช่วยให้ทีมเร็วขึ้นในภาพรวม เพราะลด:
- การคุยซ้ำกลาง sprint
- bug ที่เกิดจาก requirement เบลอ
- งานที่นับว่า done แต่จริง ๆ ยังไม่พร้อม
"เขียนไว้ใน wiki ก็พอ"
ถ้าไม่มีใครเปิดดูในชีวิตจริง เท่ากับไม่มี
DoR/DoD ที่ใช้ได้จริงควร:
- อยู่ใน ticket template
- ถูกหยิบขึ้นมาดูเวลาถก
- review เป็นระยะ
"QA เป็นคนถือ DoD คนเดียว"
ไม่ใช่ QA คนเดียว
QA ช่วยผลักดันส่วนของ testing และ risk แต่ DoD ของทีมควรเป็นข้อตกลงร่วมกัน
ถ้ามองจากมุม testability และ release risk
สิ่งที่ QA มักช่วยใน DoR
- acceptance criteria ต้อง testable
- edge cases สำคัญต้องถูกพูดถึง
- dependency และ env needs ต้องชัด
- story ใหญ่เกินไปควรถูก split
สิ่งที่ QA มักช่วยใน DoD
- criteria ผ่านครบ
- regression ที่เกี่ยวข้องผ่าน
- ไม่มี defect severity สูงค้างโดยไม่มีการรับ risk
- smoke หรือ staging verification ผ่าน
QA ไม่จำเป็นต้องเขียน checklist คนเดียว แต่ควรเป็นคนช่วยให้ checklist นี้ป้องกัน quality gap ได้จริง
เคส 1: story ยังไม่ Ready
story เขียนว่า:
"ผู้ใช้สามารถสมัครสมาชิกได้อย่างรวดเร็ว"
ปัญหา:
- ไม่รู้ว่ารวดเร็วแค่ไหน
- ไม่รู้ field อะไรบ้าง
- ไม่รู้ success/failure path
แบบนี้ยังไม่ควรเข้า sprint แม้ dev จะพอเริ่มทำ UI ได้
เคส 2: story ยังไม่ Done
dev บอกว่า:
- code merge แล้ว
- local test ผ่าน
แต่:
- ยังไม่ deploy staging
- QA ยังไม่เทสต์
- critical defect ยังไม่ปิด
แบบนี้ยังไม่ควรเรียกว่า done ตามมาตรฐานทีมที่ดี
ลองร่าง DoR / DoD แบบที่เอาไปใช้ได้จริง
ถ้าทีมของคุณทำ e-commerce คุณคิดว่าใน DoR ควรมีอะไรอย่างน้อย 5 ข้อ
ดูคำตอบแนะนำ
ตัวอย่าง: story ชัด, criteria testable, dependency ชัด, mockup พร้อมถ้ามี UI, ขนาดเล็กพอทำใน sprint เดียว, คำถามสำคัญจาก refinement ถูกตอบแล้ว
สำหรับทีมเดียวกัน DoD ควรมีอะไรอย่างน้อย 5 ข้อ
ดูคำตอบแนะนำ
ตัวอย่าง: code review ผ่าน, CI ผ่าน, acceptance criteria ผ่าน, regression ที่เกี่ยวข้องผ่าน, staging smoke ผ่าน, ไม่มี high severity defect ค้างโดยไม่มีการยอมรับ risk
ถ้า dev บอกว่างาน done แล้ว แต่ QA ยังไม่ได้เทสต์ คุณควรตอบยังไง
ดูคำตอบแนะนำ
ควรกลับไปดูข้อตกลงของทีมว่า DoD รวม testing หรือไม่ ถ้ารวม งานนั้นยังไม่ done จริงตามมาตรฐานทีม ประเด็นไม่ใช่เถียงกันด้วยความรู้สึก แต่ใช้ definition ที่ตกลงร่วมกันเป็นฐาน
สิ่งที่ต้องเอาติดตัวไปจากบทนี้
- Definition of Ready ช่วยกัน story ที่ยังไม่ชัดไม่ให้หลุดเข้า sprint
- Definition of Done ช่วยกันงานที่ยังไม่เสร็จจริงไม่ให้ถูกนับว่าเสร็จ
- ถ้าไม่มีเกณฑ์ร่วมกัน คำว่า ready และ done จะถูกตีความกันคนละแบบเสมอ
- QA มีบทบาทสำคัญในเรื่อง testability, coverage และ release risk
- DoR/DoD ที่ดีต้องถูกใช้จริงในทุก story ไม่ใช่มีไว้แค่ในเอกสาร