이 자료는 Scaled Agile 사의 “The Facilitator’s Guide to SAFe®”를 참고하였다. 한글로 번역하고, 일부 내용은 삭제, 변경, 추가 하였다.
백로그에는 해야 할 작업 항목과 우선순위, 작업량 등의 정보가 들어 있다. 애자일의 특성상 작업을 수행하면서 계속 보완하고 개선해야 한다. 이 가이드는 백로그 조정 작업을 수행하는데 필요한 실질적인 방법을 설명한다.
1. 백로그 개선 활동의 개요
애자일 팀은 진행 중인 스프린트의 목표 달성에 집중하고, 다음 계획을 스프린트 기간 중에 조정해야 한다. 이 작업을 백로그 개선(Backlog Refinement)이라고 한다. 백로그 개선을 통해 애자일 팀은 향후 작업에 대한 조정 및 이해의 공유, 작업 간의 종속성 식별, 작업 우선순위 결정 등을 수행하고, 이슈 해결을 위한 가설을 설정할 수 있다. 팀이 백로그 개선 작업 원활하게 수행할 수 있도록 일반적으로 제품소유자(PO)가 리드한다.
2. 백로그 개선 회의의 주제
백로그 개선은 일주일에 1~2회 또는 한 스프린트에서 한 번 이상 수행하는 것이 좋다. 백로그 개선 작업시간은 애자일 팀이 결정한다.
1) 팀은 작업 항목에 대해 논의
작업항목의 우선순위를 협의하고, 각 작업항목은 다음 스프린트에서 수행할 스토리이다. 팀 백로그에는 적정 수의 스토리가 포함되어야 있어야 하고, 각 스토리에는 리스크나 불확실한 내용이 없어야 한다. 애자일 팀은 다음 스프린트의 백로그에 충분한 스토리가 있는지 확인하고 미해결 문제나 종속성이 없는지 확인해야 한다. 백로그개선 회의에서는 다음 스프린트를 위한 스토리와 인수기준을 정의한다.
2) 다른 미래 유저스토리에 대한 토론
애자일 팀은 향후 스프린트를 위한 유저스토리를 준비한다. 작업 중인 기능(피처)을 출시하거나 단위 제품(PI, Program Increment)목표를 달성하려면 무엇이 필요한가? 어떤 유지관리 또는 인에이블러가 필요한가? 다른 팀과의 종속성을 해결하려면 어떤 작업이 필요한가? 브레인스토밍을 수행하여 예비 스토리를 개선 또는 도출하는 시간이다. 제품책임자(PO)가 예측가능한 로드맵을 만들기 위한 수행할 작업범위와 작업량에 대한 정보를 팀으로부터 입수해야 한다.
3) 크기 추정 및 우선순위 지정
유저스토리를 백로그에서 스프린트 계획으로 이동할 때 유저스토리의 크기가 조정되지만, 백로그개선 작업에서 유저스토리의 크기를 먼저 조정하는 것이 좋다. 애자일 팀은 자원투입 기준과 3C(Card, Conversation, Confirmation) 방법을 사용하여 각 스토리에 대해 논의한 다음 모든 스토리의 우선 순위를 지정할 수 있다.
3. 백로그 개선 작업 준비 항목
1) 장소와 시간
- 미팅 장소 물색
커뮤니케이션과 협업을 위한 물리적 또는 가상 공간을 선택하고 모든 사람이 쉽게 액세스하고 검토할 수 있는 도구에 백로그를 준비한다.
- 애자일 팀이 동의하는 백로그 개선을 위한 시간과 케이던스(주기) 설정
- 애자일 팀의 백로그 개선 작업 횟수를 결정
스프린트 당 최소 한 번은 백로그 개선 작업을 수행할 것을 권장하지만 애자일 팀의 필요에 따라 빈도와 기간을 조정할 수 있다.
주의: 백로그 개선을 처음 수행하거나 새로운 주기로 변경하는 경우 일정을 팀 구성원에게 알려야 한다.
2) 준비할 사항
- 팀 백로그 준비
- 피처, 단위 제품(PI) 목표 및 다른 팀과의 종속성 목록 수집
- 다음 스프린트를 위한 후보 스토리 정의
- 애자일 팀의 투입 가능한 작업량 추정
3) 산출물
- 다음 스프린트에서 팀 목표 달성에 필요한 작업범위와 작업량에 대한 합의
- 향후 작업으로 해결할 작업과 방법에 대한 공동의 이해
- 다음 스프린트를 위해 인수기준이 정의된 추정 스토리
- 추가 조사를 위한 스파이크
- 식별된 종속성의 해결 또는 후속 조치 결정, 현재 계획의 위험과 장애물이 인지되고 논의됨
4. 백로그 개선 작업 수행 요령
1) 온라인으로 수행하는 경우
- 애자일 팀 보드를 온라인으로 이동하고, 모든 사람이 해당 도구에 액세스할 수 있도록 하고 모든 결정과 개선 사항을 기록한다.
- 팀 커뮤니케이션 채널이나 디지털 캘린더를 사용하여 사전에 회의 주제를 만들어 공유하고, 토론할 스토리와 작업의 우선 순위를 정의한다.
- 회의가 시작되기 전에 최신 정보가 공유되도록 팀의 작업 관리 도구에 있는 정보를 업데이트한다.
- 팀으로 협력하여 크기를 추정하고 논의할 수 있는 온라인 도구와 방법을 준비해야 한다. 팀원들에게 비디오를 계속 켜 두고, 온라인 투표, 팀의 화상 회의에서 결과를 만들도록 한다.
2) 백로그 개선 회의 진행 요령
- 진행 시간을 미리 설정한 후, 후보 스토리를 브레인스토밍을 통하여 도출하고 다 같이 공유한다.
- 후보 스토리를 논의하여 추가하고, 기존 스토리를 개선하는 작업을 수행한다. 팀 구성원이 작성한 스토리에 대해 다른 팀원의 의견을 듣는다.
- 의견 불일치를 해결하고 반대 의견에 시간을 할애하여 스토리 세부 사항, 규모 및 우선 순위에 대한 이해와 조정할 수 있도록 리드한다.
- 두 세명 함께 유저스토리를 다듬고 소그룹으로 토론한다.
- 인에이블러 스토리를 만들고 다듬는다.
- 스토리의 크기가 한 스프린트 기간 내에 끝내지 못할 정도로 크면, 더 작은 스토리로 분할한다.
5. 발생할 수 있는 이슈와 극복 방법
모든 것이 항상 완벽하게 진행되는 것은 아니라는 것을 잊지 마라. 급변하는 비즈니스 환경에서 변화는 불가피하다. 의견 불일치나 갈등은 나타나기 마련이고, 잘 극복해야 한다.
다음은 스크럼 마스터가 직면할 있는 어려움과 극복 방안이다.
1) 한 스토리에 너무 많은 시간을 사용
- 팀과 협의하여 각 스토리 별 토론 시간을 5분으로 제한
- 타이머를 설정하고 팀이 각 스토리를 토론할 때 경과 시간을 가시화
2) 스토리의 크기 추정에 대한 의견의 불일치
- 제일 작은 규모로 추정한 사람에게 이유를 설명해 달라고 요청하고 제일 큰 규모로 추정하는 사람에게도 이유를 공유하도록 요청하여 팀이 추정치를 변경
- 계속 합의되지 않으면 스토리의 규모를 PO가 결정하도록 하며, 보통 더 큰 추정치를 사용
3) 스토리가 모호하거나 가정이 많은 경우
- 다음 Backlog Refinement까지 해당 스토리에 대해 토론
- PO가 다음 토론 전에 해결할 수 있도록 필요 사항을 정리
- 주제전문가(SME) 또는 종속작업을 완료할 팀의 대표를 초대하여 백로그 구체화 토론에 참여시켜 스토리를 명확화