Definition of Done vs Acceptance Criteria

Paweena Charoentham
te<h @TDG
Published in
2 min readMar 28, 2019

Definition of Done (DoD) หรือ นิยามของคำว่าเสร็จสมบูรณ์ คือ รายการที่ใช้สำหรับตรวจสอบว่า User Story หนึ่งๆ เรียกได้ว่าทำเสร็จสมบูรณ์แล้ว

Acceptance Criteria ของแต่ละ User Story คือรายละเอียดการทำงานที่ Software จะต้องทำงานได้ครบถ้วน เพื่อเป็นการบอกว่าพัฒนา User Story นี้เสร็จ/ผ่านแล้ว

Definition of Done และ Acceptance Criteria แตกต่างกันอย่างไร?
DoD นั้นเป็นนิยามความเสร็จสมบูรณ์ทั่วไปของทุกๆ User Story ในขณะที่ Acceptance Criteria ของแต่ละ User Story นั้นแตกต่างกันไปขึ้นอยู่กับ Requirement ของ User Story นั้นๆ

การที่จะระบุว่า User Story พัฒนาเสร็จแล้วได้นั้น User Story จะต้องผ่านการตรวจสอบตามรายการทั้งใน DoD และ Acceptance Criteria

Definition of Done

Scrum Guide กล่าวถึง DoD ไว้ดังนี้

“When a Product Backlog item or an Increment is described as ‘Done’, everyone must understand what ‘Done’ means.”

Definition of Done คือลำดับของรายการ ซึ่งแต่ละรายการใช้สำหรับตรวจสอบ User Story หรือ Product Backlog Item (PBI) เพื่อให้มั่นใจถึงคุณภาพ และความสมบูรณ์ของงานที่ทีมพัฒนาผลิต รายละเอียดทุกข้อใน DoD นั้นต้องสามารถใช้ได้ในการตรวจสอบทุก User Story หรือทุกรายการของ Product Backlog

DoD เป็นสิ่งที่สมาชิกในทีมใช้สำหรับสื่อสารกันถึงคุณภาพโดยรวมของ Software และใช้บ่งบอกว่า Software นั้นสามารถส่งมอบได้หรือไม่

ตัวอย่างของ DoD

· Code ได้รับการ Review แล้ว

· ผ่าน Unit test แล้ว

· ผ่าน Functional Test แล้ว

· Product Owner ตรวจสอบและยอมรับแล้ว

Acceptance Criteria

ถึงแม้ User Story จะเป็นหนึ่งในสิ่งสำคัญใน Agile Development แต่ Scrum Guide ไม่ได้กล่าวถึง User Story หรือ Acceptance Criteria ไว้อย่างชัดเจน

Acceptance Criteria เป็นส่วนหนึ่งของ User Story โดย User Story อธิบายบริบทการทำงานของ Software ที่ทีมจะต้องส่งมอบ ในขณะที่ Acceptance Criteria บอกเงื่อนไขว่าการทำงานแบบไหนของ Software ที่ Product Owner จะยอมรับว่าผ่าน (Accepted) ทั้ง User Story และ Acceptance Criteria สองสิ่งนี้รวมกันเป็นสิ่งที่ส่งมอบ (Deliverable)

Acceptance Criteria ได้มาจากการที่ทีมปรึกษาหารือกัน บางส่วนก็ได้มาในระหว่าง Backlog Refinement (Backlog Grooming) ก่อนที่จะเริ่ม Sprint และบางส่วนก็ได้มาระหว่าง Sprint Planning

Acceptance Criteria นั้นเป็นเงื่อนไขเฉพาะตัวสำหรับแต่ละ User Story/PBI นอกจากจะทำให้ทีมรู้ว่าจะพัฒนา Software อย่างไรก่อนที่จะเริ่มพัฒนาแล้ว เมื่อ User Story/PBI ผ่านการตรวจสอบตามเงื่อนไขใน Acceptance Criteria ทั้งหมดจึงเรียกได้ว่า User Story/PBI นั้นผ่านแล้ว

ตัวอย่าง Acceptance Criteria

· ผู้ใช้ไม่สามารถส่ง Form ได้หากไม่กรอกข้อมูลใน Field ทั้งหมดที่กำหนดให้เป็น Field สำคัญ

· ข้อมูลจาก Form ถูกเก็บในฐานข้อมูลการลงทะเบียน

· สามารถชำระเงินได้ด้วย Credit Card

· ระบบส่ง email แจ้งผู้ใช้ว่าได้รับข้อมูลแล้วหลังจากที่ผู้ใช้ส่ง Form

References

Visual Paradigm, Definition of Done vs Acceptance Criteria, 2019:

https://www.visual-paradigm.com/scrum/definition-of-done-vs-acceptance-criteria/

Mark Levison, Definition of Done vs. User Stories vs. Acceptance Criteria, 2017:

https://agilepainrelief.com/notesfromatooluser/2017/05/definition-of-done-vs-user-stories-vs-acceptance-criteria.html#.XI9gbsAzbIV

--

--