“이 작업을 완료했습니까?”
간단해 보이는 이 질문에 답하려면 항목 또는 제품 증분이 완료되었는지 아니면 진행 중인지 확인해야 합니다. 하지만 팀 및 이해 관계자가 명시적으로 “완료”로 정의하지 않으면 효과가 없습니다.
칸반 또는 스크럼과 같은 애자일 프로젝트 관리 방법론에서 “완료”란 완료한 항목의 시각적 보드에서 가장 오른쪽 열을 의미합니다. DoD(완료의 정의)를 명확하게 정하면 DevOps 및 스크럼 팀을 포함한 애자일 팀이 항목을 더 효율적으로 완료할 수 있습니다.
이 가이드는 애자일 방법론에서 DoD의 의미를 비롯해 프로젝트를 더 효과적이고 가치 있게 만들기 위해 DoD를 수립하는 방법을 설명합니다.
애자일에서 완료의 정의 이해하기
DoD는 제품 증분을 완료하고 고객에게 제공할 준비가 된 것으로 간주하기 위해 제품 증분이 충족해야 하는 일련의 기준입니다. 제품 증분을 언제 릴리스할 준비가 되었는지에 대한 팀원 간의 공동의 이해로, 증분이 크고 여러 항목으로 구성된 경우에도 마찬가지입니다. 프로젝트에서 “완료”의 의미를 명확하게 정의하면 애자일 팀은 모든 스프린트에서 가치를 제공하고 재작업을 최소화하는 데 집중할 수 있습니다.
완료의 정의는 한 명이 수립하는 것이 아니라는 점에 유의해야 합니다. 대신 개발자, 테스터, 제품 소유자 및 기타 이해 관계자를 포함한 전체 프로젝트 팀이 완료의 정의에 합의를 이루어야 합니다. 그러면 모두가 항목을 완료로 표시하기 전에 모든 체크리스트와 함께 DoD를 가이드로 사용하므로 스프린트 중에 프로세스가 더 원활하게 진행됩니다.
Atlassian의 최신 작업 방식 코치 Mark Cruth는 이렇게 말합니다. "다른 팀으로 업무를 전달할 때는 완료의 정의가 다른 팀의 성공을 보장하는 데 필요한 모든 것을 설명해야 합니다. 가치 흐름에 있는 다른 팀과 협업하여 지원을 위해 DoD에 어떤 내용을 포함해야 하는지 알아보세요."
완료의 정의 예시
프로젝트의 DoD는 프로젝트 유형 및 관련 팀에 따라 다릅니다. 다음 DoD 예시는 프로젝트 유형마다 정의가 어떻게 다른지 보여줍니다.
모바일 앱 개발 프로젝트에서 DoD는 다음을 포함할 수 있습니다.
- 모든 이미지를 압축.
모든 코드를 축소 및 gzip으로 압축.
소프트웨어 개발 프로젝트에서 DoD의 예시 기준에는 다음이 포함될 수 있습니다.
- 단위, 통합 및 엔드투엔드 테스트를 통해 모든 코드를 철저하게 테스트.
제품 증분을 스테이징 환경에 배포하고 팀에서 테스트.
일반 프로젝트에는 DoD의 일부로 다음 항목이 포함될 수 있습니다.
- 모든 오류를 해결.
모든 릴리스 문서를 작성 및 편집.
완료의 정의 및 준비의 정의 비교
DoD는 제품 증분이 언제 완료되는지 정의하는 일련의 개략적인 기준입니다. 산출물의 품질 및 일관성을 보장합니다. 팀은 보통 스프린트 종료 시 제품 증분의 품질을 확인할 때 DoD를 사용합니다.
반면 준비의 정의(DoR)는 제품 백로그 항목에만 적용되는 일련의 세부적인 특정 기준입니다. DoR은 팀이 향후 스프린트에서 작업할 백로그 항목이 언제 준비되는지를 정의합니다. 팀은 스프린트 시작 시 백로그 세분화 프로세스에서 DoR을 사용합니다.
완료의 정의가 중요한 이유는 무엇입니까?
DoD는 항목을 완료로 표시할 수 있는 시점 및 제품 증분에 포함할 준비가 된 시점을 명확히 알려주므로 고객이 원하는 품질의 제품을 제공하는 데 매우 중요합니다. 잘 정의된 DoD는 다음과 같은 이점을 제공합니다.
품질 향상: DoD 기준에 따라 모든 제품 증분을 확인하면 애자일 팀은 제품 개발 전반에서 품질 목표를 염두에 두게 됩니다. 그러면 릴리스에 필요한 품질 기준을 일관성 있게 충족할 수 있습니다.
위험 최소화: DoD를 준수하면 완료한 것으로 표시하기 전에 항목이 따라야 할 기준을 팀이 정확히 알기 때문에 재작업 또는 그로 인한 지연의 위험이 최소화됩니다. 이렇게 하면 프로젝트의 모든 단계에서 품질이 보장됩니다.
팀 정렬 개선: DoD는 프로젝트 컨텍스트 내에서 “완료”의 의미에 대한 공동의 이해이므로 팀은 고객 요구 사항에 더 쉽게 집중하고 스프린트마다 가치를 제공할 수 있습니다.
진행률 측정: DoD가 명확하면 팀이 “완료”의 기준을 충족하는 제품 증분의 수를 추적할 수 있습니다. 예를 들어 스크럼 메트릭에는 한 명이 정해진 기간 내에 제공하는 제품 증분의 수를 보여주는 속도가 포함될 수 있습니다.
완료의 정의를 수립하는 단계
완료의 정의를 수립하는 정확한 단계는 팀 및 프로젝트에 따라 다르지만 프로세스는 비슷한 패턴을 따릅니다. DoD를 수립하는 단계는 다음과 같습니다.
1. 적합한 팀과 협업
결정된 기준은 모든 참가자 간에 공동의 이해를 형성하므로 DoD를 수립할 때는 적합한 팀원과 협업하는 것이 중요합니다. 따라서 프로젝트의 “완료”를 정의하는 방법에 대해 발언권을 가져야 하는 모든 관련자, 즉 제품 소유자, 스크럼 마스터, 스크럼 팀원, 테스터, 제품 관리자, 후원자 및 기타 관련 이해 관계자 등을 포함해야 합니다.
각 팀원은 자신의 분야별 지식을 프로젝트에 가져와 자신의 전문 분야에서 적절한 기준에 대해 의견을 낼 수 있습니다. 적합하지 않은 팀원을 포함하거나 핵심 팀원을 빠뜨리면 DoD 기준이 포괄적이지 않아 수준 이하의 제품을 만드는 결과가 발생할 수 있습니다.
2. 기준 수립
“완료”를 정의하는 데 있어 가장 큰 작업은 팀에서 프로젝트에 사용할 기준을 정하는 것입니다. DoD 기준을 설정하는 것은 작업의 품질에 영향을 미치기 때문에 중요합니다.
프로젝트의 각 구성 요소가 완료되었는지 어떻게 알 수 있습니까? 이 제품 증분이 완료되었음을 나타내는 조건은 무엇입니까? 기준은 구체적이고 측정 가능하고 달성 가능하며 연관성 있고 시간이 정해져 있어야 합니다. 적절한 기준을 선택하려면 팀에서 두 가지 주요 질문을 스스로에게 해야 합니다.
- 기준이 충분히 구체적입니까? 모호(모든 코드를 테스트)하지 않고 구체적(단위, 통합 및 엔드투엔드 테스트를 통해 모든 코드를 철저하게 테스트)이어야 합니다.
- 기준이 고객 중심입니까? 좋은 예시는 최종 사용자가 제품 사용 시 참고 자료를 쉽게 찾을 수 있도록 하는 “모든 설명서 작성 및 업데이트”입니다.
Cruth는 다음과 같이 설명합니다. "완료의 정의는 허용 기준과 같지 않다는 것을 기억해야 합니다. DoD는 팀에서 사용자 스토리를 '완료'하기 위해 완료해야 한다고 생각하는 일련의 활동(수락 기준을 포함할 수 있음)이지만 사용자 스토리가 제대로 구현되었다고 말하는 것과는 다릅니다."
3. 완료 체크리스트 만들기
DoD 기준은 대규모 프로젝트를 진행하는 팀에 더 적합해 보이지만 소규모 작업, 이슈 또는 오류를 처리하는 팀은 같은 개념을 적용하여 덜 광범위한 완료 체크리스트를 작성할 수 있습니다. 모든 작업 또는 이슈에 대한 완료 체크리스트를 작성하면 팀이 일관성 있게 높은 품질의 작업을 제공할 수 있습니다.
4. 사용자 스토리에 허용 기준 할당
허용 기준(AC)은 사용자 스토리가 고객이 허용할 수 있게 되도록 충족해야 하는 조건을 의미합니다. 제품 증분이 아니라 사용자 스토리 또는 기능을 다루므로 DoD 기준과 다릅니다.
그러나 DoD와 마찬가지로 AC는 사용자 스토리 또는 개별 작업을 완료했는지 결정하는 합의된 기준입니다. 예를 들어 사용자 스토리가 “사용자로서 검색 필드를 사용하여 원하는 제품을 찾고 싶습니다.”인 경우 허용 기준에는 다음이 포함될 수 있습니다.
- 검색 필드가 상단 탐색 모음에 있음.
- “검색” 버튼을 누르면 검색 시작.
검색 필드에 “무엇을 찾고 있습니까?”라는 회색 자리 표시자 텍스트가 있음
5. DoD 수정 및 업데이트
DoD는 정적인 문서가 아닙니다. 스프린트 중에 발견하는 모든 버그 또는 오류는 완료의 정의가 명확하지 않아 발생했을 수 있는 품질 문제입니다. 따라서 버그가 다시 발생하지 않도록 DoD 업데이트를 하는 것이 중요합니다.
Cruth는 다음과 같이 덧붙입니다. "완료의 정의는 실시간 문서여야 합니다. 즉, 업무에 대해 새로운 것을 알게 되면 팀은 DoD를 업데이트해야 합니다. 분기마다 DoD를 검토하여 필요하다고 생각되는 모든 항목을 포함하고 있는지 확인하세요."
프로젝트와 관련성을 유지하도록 스프린트 검토 중에 DoD를 수정 및 업데이트하세요. 프로젝트가 발전하고 팀이 고객 요구 사항에 대해 더 많이 알게 되면 DoD를 달성 가능하도록 수정해야 할 수도 있습니다. 스프린트 검토 또는 백로그 세분화 미팅 중에 팀원이 DoD에 대한 변경 사항을 제안할 기회가 있는지 확인하세요.
Jira로 잘 정의된 DoD 보장
소프트웨어 팀의 경우 Jira를 사용하면 완료의 정의를 쉽게 수립할 수 있습니다. 각 Jira 이슈에 사용자 지정 필드를 만들거나 확장 프로그램을 다운로드하여 체크리스트를 만드세요. Jira 이슈 유형을 사용자 지정하여 다양한 작업 유형에 대해 서로 다른 DoD를 수립하세요.
Jira는 애자일 계획부터 스프린트 스탠드업에 이르는 프로그램 및 프로젝트 관리 요구 사항을 지원하는 데 있어서 뛰어난 성과를 내는 수백만 개의 애자일 팀에게 신뢰를 받고 있습니다. 무료로 사용해 보세요.
완료의 정의: 자주 묻는 질문
완료의 정의를 수립하는 것은 누가 담당합니까?
스크럼 마스터가 이끄는 개발 팀이 보통 DoD를 수립합니다. 하지만 제품 소유자, 테스터 및 기타 이해 관계자의 의견을 구해야 합니다.
완료의 정의 및 허용 기준의 차이점은 무엇입니까?
DoD는 제품 증분이 완료되었는지 판단하는 일련의 개략적인 기준입니다. 모든 제품 증분에 적용되며 제품의 전반적인 품질을 정의합니다.
반면에 허용 기준은 특정 사용자 스토리 또는 기능에만 적용되는 세부적인 조건입니다. AC는 사용자 스토리가 고객에게 허용 가능한지 여부를 정의합니다. DoD의 예로는 "모든 설명서를 작성 및 업데이트"가 있으며 AC의 예로는 "탐색 메뉴에서 사용자 설명서 링크에 액세스 가능"이 있습니다.
완료의 정의를 수립하는 모범 사례는 무엇입니까?
팀과 함께 기준을 정의: DoD를 정의하는 일은 개발자, 테스터, 제품 소유자 및 관련 이해 관계자를 포함한 팀 전체가 참여하는 공동의 노력을 바탕으로 이루어져야 합니다. DoD를 수립하면 제품 증분이 완료된다는 것이 무엇을 의미하는지 모두가 이해할 수 있습니다.
눈에 잘 띄게 유지: DoD는 스프린트 계획 중이나 제품 백로그 항목 추정에 대한 논의가 있을 때 사용할 수 있고 볼 수 있어야 합니다. 팀에서 DoD를 정기적으로 참조할 수 있어야 합니다. 인쇄하여 벽에 붙여두거나 위키 또는 프로젝트 계획에 포함하세요.
실용적 및 현실적: DoD는 기간 내에 그리고 사용 가능한 리소스로 달성할 수 있어야 합니다. 더 중요하게는 고객이 실제로 필요로 하는 것과 관련이 있어야 합니다.