Definition of Ready(DoR), Done(DoD), Acceptance Criteria 정리

--

Definition of Ready(DoR), Definition of Done(DoR), Backlog Refinement, Acceptance Criteria(A/C)를 정리해 보았습니다.

Product Backlog가 Sprint Planning 될 수 있는 준비 수준인지 체크하기 위한 기준을 Definition of Ready(DoR)라고 하며, Team은 DoR을 만족하기 위해 Backlog를 보완하는 작업을 Backlog Refinement(백로그 정제)라고 합니다. 또한, Team에서 정의한 모든 User story의 공통적인 완료기준을 Definition of Done(DoD)라고하며, Product Owner가 user story마다 정의한 인수기준을 acceptance criteria(A/C)라고 합니다.

1. Backlog의 준비 상태 확인

1.1. Definition of Ready(DoR)

Product Backlog가 Sprint Backlog(Sprint planning에서 선택된 backlog)가 될 수 있는 조건을 정의합니다.

  • Sprint Backlog는 우선순위로 정렬되어 있다.
  • Sprint 동안 할 수 있는 업무량(story point)으로 산정되어 있다.
  • Story의 Value가 명확하게 식별되어 있다.
  • Story를 위한 Acceptance Criteria가 명확하게 정의되어 있다.
  • Backlog간 의존사항이 파악되었다.

1.2. Backlog Refinement(백로그 정제)

PO와 팀의 일부 또는 전체가 백로그에 있는 항목을 검토하여, 우선순위(또는 작업 순서) 상위 백로그의 개발 준비가 되도록 하는 활동입니다. 즉, DoR을 만족시켜 Sprint Planning에 포함 될 수 있는 Backlog를 만드는 활동입니다. 만약 Refinment가 제대로 되어 있지 않다면, Sprint Planning 시간이 길어집니다.

  • 새로운 user story 생성
  • 중복 및 불필요 user story 제거
  • Epic 수준의 큰 user story 분할
  • 빈약하게 작성된 user story들 명세 보완
  • (우선순위 상위) product backlog item들의 story point 추정
  • acceptance criteria 추가

1.3. 좋은 Product Backlog의 특징 (DEEP)

  • Detailed appropriately(적절한 세부사항) : 우선순위가 높으면 상세히 명세
  • Emergent (발생적) : Value 있는 정보나 개선사항을 지속적으로 Backlog 생성
  • Estimated(추정) : 상위 Backlog는 더 작게 나누고, 예상 effort size를 상세히 추정
  • Prioritized(우선순위화) : 다가오는 sprint에 시작 할 backlog를 우선순위화
https://inspireqs.ie/the-seven-deadly-sins-of-scrum/

1.4. 좋은 Story의 특징 (INVEST)

  • Independent(독립성) : Backlog들을 가능한 낮은 의존성 단위로 작성
  • Negotiable(협상 가능) : 세부사항(How)은 협상될 수 있으므로 What과 Why에 집중하여 작성
  • Valuable(가치) : 고객 혹은 사용자에게 가치를 제공하는 story로 작성
    (해설:따라 서 환경구성 등 기술내용은 technical story, enabler(SAFe), Task(JIRA)등으로 구분)
  • Estimable(추정) : 팀은 작업의 크기를 추정 할 수 있도록 작성
    (해설:추정이 안된다면 업무가 불명확하거나 너무 큰 story)
  • Small(작은 크기) : Sprint내에 완료할 수 있는 적절한 크기로 작성
  • Testable(테스트 가능) : 테스트 가능하게 acceptance criteria를 작성
    (해설 : 테스트 할 수 없다면 PO나 개발자도 작업 결과를 검토 할 수 없음)
https://digitalskillsmastery.com/what-is-a-user-story-in-agile/

2. User Story의 완료 확인

2.1. Definition of Done(DoD)

User Story의 공통적인 완료기준을 의미합니다. 즉 모든 User Story는 DoD를 충족해야 작업이 완료되며 Velocity 계산에 반영 될 수 있습니다.

  • 모든 Product Backlog Item들의 완료 조건
  • DoD 완료시 Incremental 생성이 되며, 완료 처리
  • 조직(Team)의 표준이며 따라야 함
  • 참고로, Acceptance Criteria는 특정 User story의 완료 조건

2.2. Acceptance Criteria(인수 기준)

User Story가 완료 되기 위해 만족되어야 하는 요구사항입니다.

  • Data가 함께 작성되면 이해 및 테스트 할 때 유용함
    (제 경험으로는 테스트 결함 50%는 잘못 입력된 data나 잘못 준비된 Data 로 결함 발생)

2.3. A/C와 DoD 비교

https://failfastmoveon.blogspot.com/2021/07/definition-of-done-vs-acceptance.html

2.4. User Story의 작업 완료 의미

3. 맺음말

  • DoD는 Product나 Team마다 공통 1개 정의, A/C는 user story마다 정의
  • Backlog의 준비는 Backlog를 우선순위로 정렬하고, 다가오는 Sprint에서 수행할 backlog 중심으로 정제하며 상세화
  • 우선순위 그리고 팀의 Velocity를 알아야 효율적으로 Refinement 가능
  • Backlog를 완료하기 위해 공통 완료 조건인 DoD와 user story의 완료조건인 A/C를 만족시키며 개발

--

--