스크럼 기법
📌 정의
서비스 개발 중 지속적으로 개선을 시도할 수 있도록 스프린트(Sprint)라는 짧은 개발 사이클을 활용하는 프로젝트 관리 방법론.
🏃♀️ 스프린트
스크럼 패턴을 따르는 일정한 기간(2주 ~ 30일)
스프린트 중에 모든 개발 작업은 스프린트 백로그에 있는 아이템만을 구축하는데 집중한다.
👷♀️ 역할
1. 제품 책임자
- 무엇을 할 건지, 왜 하는지에 대해 결정하는 결정권자.
- 제품 백로그(product backlog)를 관리.
- 사용자가 필요로 하는 내용을 반영하고, 백로그 아이템을 추가, 제거, 우선순위 재조정 등 제품 백로그를 지속적으로 관리하면서 프로젝트가 제대로 진행되도록 만들어간다.
2. 스크럼 마스터
- 스크럼을 잘 수행할 수 있도록 객관적인 시각에서 조언을 해주는 가이드 역할을 수행.
- 제품 책임자가 백로그를 효과적으로 관리하는 방법을 찾을 수 있도록 도움.
- 모든 사람들이 최선을 다하여 가장 가치있는 소프트웨어를 개발할 수 있도록 도움.
3. 개발팀
- 모든 팀원(제품 개발을 위해 참여하는 모든 사람이 대상).
- 할당된 태스크는 보통 할 일, 진행 중, 완료의 상태를 갖는다.
🧶 산출물
1. 제품 백로그
- 제품 개발에 필요한 모든 요구사항(User Story)을 우선순위에 따라 나열한 목록이다.
- 제품 백로그에 있는 모든 아이템에는 순서, 설명, 추정, 가치라는 4개의 속성이 있다.
- 제품 백로그는 프로젝트가 지속되는 동안 절대 완성되지 않는다.
사용자 스토리(User Story)
- 사용자가 필요로 하는 것에 대한 매우 짧은 설명.
추정 : 꼭 사람이나 시간 단위로 할 필요는 없다. 팀원이 이해할 수 있는 단위로 하면 된다.
가치 : 설명이거나, 상대적인 숫자나, 가치를 측정하거나 표현하는 방법.
2. 스프린트 백로그(sprint backlog)
- 현재 스프린트 동안 스프린트 목표 및 관련 프로덕트 백로그 아이템을 어떻게 서비스제공(전달)할 것인지에 대한 계획.
- 스프린트 백로그에 작성된 태스크를 대상으로 작업 시간을 추정한 후 개발자에게 할당한다.
3. 제품 증분(increment)
- 해당 스프린트와 모든 이전 스프린트에서 완료된 백로그 아이템의 총합.
🤝 회의
1. 스프린트 계획 회의
해당 스프린트에 선택된 아이템을 제품 백로그에서 제거하고, 스프린트 백로그에 추가한다.
2. 일일 스크럼 회의
모든 팀원이 매일 약속된 시간에 약 15분 정도의 짧은 시간동안 진행 상황을 점검(각자가 일의 진척, 다음에 작업할 업무, 일하면서 느낀 걸림돌)한다.
회의는 보통 서서 진행.
3. 스프린트 검토 회의(스프린트 리뷰)
- 부분 또는 전체 완성 제품이 요구사항에 잘 부합되는지 사용자가 포함된 참석자 앞에서 테스팅을 수행한다.
- 스프린트의 한 주당 한 시간 내에서 진행한다.
- 제품 책임자는 개선할 사항에 대한 피드백을 정리한 후
4. 스프린트 회고
- 스프린트 주기를 되돌아보며 정해놓은 규칙을 잘 준수했는지, 개선할 점은 없는지 등을 확인하고 기록.
📉 소멸 차트(Burn-down Chart)
해당 스프린트에서 수행할 작업의 진행 상황을 확인할 수 있도록 시간의 경과에 따라 남은 작업 시간을 그래프로 표현한 것.
초기에 추정했던 전체 작업 시간은 작업이 진행될수록 점점 줄어들게 된다.
♻ 순서
- 제품 백로그
- 스프린트 계획 회의
- 일일 스크럼 회의
- 스프린트 검토 회의
- 스프린트 회고