CupCode.cc
Section 01 · Module 06 · Lesson 02 · ~22–26 นาที

Definition of Ready & Definition of Done

คำว่า 'พร้อมเริ่ม' และ 'เสร็จแล้ว' ฟังดูเหมือนง่าย แต่ถ้าทีมไม่มีเกณฑ์ร่วมกัน สองคำนี้จะสร้างความเข้าใจไม่ตรงกันตลอด บทนี้พาคุณดูว่า DoR และ DoD ช่วยให้ทีม Agile ส่งมอบงานได้มีคุณภาพขึ้นอย่างไร

เวลาเรียน: 22–26 นาที ต้องรู้มาก่อน: Module 06 Lesson 01 รูปแบบ: อ่าน + checklist + ปรับใช้กับทีมจริง

จบบทนี้แล้วคุณจะ...

  • อธิบาย Definition of Ready และ Definition of Done ได้ชัดขึ้น
  • เห็นตัวอย่าง checklist ที่ใช้ได้จริงในบริบททีม software
  • เข้าใจบทบาทของ QA ในการช่วยตั้งและรักษามาตรฐานของทั้งสองอย่าง
  • แยกให้ออกว่าอะไรคือ story ที่ยังไม่ ready และอะไรคือ story ที่ยังไม่ done
  • ใช้ DoR/DoD เป็นเครื่องมือป้องกัน rework แทนการมองว่าเป็นเอกสารพิธีกรรม
1 · ทำไมทีมถึงต้องมีสอง definition นี้

เพราะคำว่า "พร้อม" และ "เสร็จ" ถ้าไม่ตกลงร่วมกัน จะตีความกันคนละโลก

ลองดูคำพูดที่เจอบ่อยในหลายทีม:

  • "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 มีไว้เพื่อลดพื้นที่ของการตีความไม่ตรงกัน

2 · Definition of Ready คืออะไร

เกณฑ์ว่า 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

3 · Definition of Done คืออะไร

เกณฑ์ว่า 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 ยาวที่สุด แต่คือให้ทีมมีมาตรฐานที่เหมาะกับความเสี่ยงของงาน

4 · DoR กับ DoD ต่างกันยังไงแบบจำง่าย
เรื่อง DoR DoD
ใช้ตอนไหน ก่อนเริ่ม ก่อนปิดงาน
ช่วยป้องกันอะไร rework จาก story ไม่ชัด quality leak จากงานที่ยังไม่เสร็จจริง
คนที่ได้ประโยชน์ ทั้งทีมก่อนลงมือ ทั้งทีมก่อนส่งต่อหรือปล่อยจริง
มุมของ QA criteria และ testability coverage, defect status, release risk

จำแบบสั้น

  • DoR = "พร้อมให้เริ่มหรือยัง"
  • DoD = "พร้อมให้นับว่าเสร็จหรือยัง"
5 · ความเข้าใจผิดที่พบบ่อย

"มี DoR/DoD แล้วทีมจะช้าลง"

จริง ๆ ถ้าทำดี จะช่วยให้ทีมเร็วขึ้นในภาพรวม เพราะลด:

  • การคุยซ้ำกลาง sprint
  • bug ที่เกิดจาก requirement เบลอ
  • งานที่นับว่า done แต่จริง ๆ ยังไม่พร้อม

"เขียนไว้ใน wiki ก็พอ"

ถ้าไม่มีใครเปิดดูในชีวิตจริง เท่ากับไม่มี

DoR/DoD ที่ใช้ได้จริงควร:

  • อยู่ใน ticket template
  • ถูกหยิบขึ้นมาดูเวลาถก
  • review เป็นระยะ

"QA เป็นคนถือ DoD คนเดียว"

ไม่ใช่ QA คนเดียว

QA ช่วยผลักดันส่วนของ testing และ risk แต่ DoD ของทีมควรเป็นข้อตกลงร่วมกัน

6 · QA ควรเพิ่มอะไรเข้าไปใน DoR/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 ได้จริง

7 · ตัวอย่างการใช้ DoR/DoD ในชีวิตจริง

เคส 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 ตามมาตรฐานทีมที่ดี

Practice

ลองร่าง DoR / DoD แบบที่เอาไปใช้ได้จริง

  1. ถ้าทีมของคุณทำ e-commerce คุณคิดว่าใน DoR ควรมีอะไรอย่างน้อย 5 ข้อ

    ดูคำตอบแนะนำ

    ตัวอย่าง: story ชัด, criteria testable, dependency ชัด, mockup พร้อมถ้ามี UI, ขนาดเล็กพอทำใน sprint เดียว, คำถามสำคัญจาก refinement ถูกตอบแล้ว

  2. สำหรับทีมเดียวกัน DoD ควรมีอะไรอย่างน้อย 5 ข้อ

    ดูคำตอบแนะนำ

    ตัวอย่าง: code review ผ่าน, CI ผ่าน, acceptance criteria ผ่าน, regression ที่เกี่ยวข้องผ่าน, staging smoke ผ่าน, ไม่มี high severity defect ค้างโดยไม่มีการยอมรับ risk

  3. ถ้า 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 ไม่ใช่มีไว้แค่ในเอกสาร