Product Backlog, Sprint Backlog, Sprint, Daily Meeting, PO, SCRUM Master / 프로젝트 관리 |
I. 스프린트 단위로 개발 생산성 향상, SCRUM의 개요
가. SCRUM의 정의
- 프로젝트 관리를 위한 애자일 방법론으로 Product Backlog기반으로 Sprint 단위로 제품을 개발하는 방법으로 반복을 통해 개발 주기를 단축하여 팀의 생산성을 높이는 소프트웨어 개발 방법
나. SCRUM의 특징
- 협업중심 : 주로 팀 수준의 시안을 다루며 효율적이고 팀원들이 협업할 수 있는 환경을 제공하여 활동에 집중 할 수 있게 하고 고품질의 제품을 생산
- 사회공학기법 : 프로젝트 이해관계자들의 적극적인 협력과 참여를 촉진하여, 관련자의 성취감 충족을 목적으로 함
- 스프린트 수행 : 스프린트라는 통상 4~6주 정도의 잘 정의된 개발 주기를 가지며, 개발 효율성을 극대화 할 수 있는 환경 제공
- 일일미팅 : 8~10명 정도의 SCRUM 팀은 매일 15분 정도의 회의를 통해 진척관리와 이슈 중심의 계획 리뷰 실시
- 독립적 방법론 : 특정 언어나 방법론에 의존하지 않으며, 개발언어와 상관없이 적용 가능한 폭 넓은 응용 범위의 개발 기법
II. SCRUM의 구성요소 및 프로세스
가. SCRUM의 구성요소
구분 |
설명 |
제품 백로그 (Product Backlog) |
- 시스템에서 해결해야 하거나, 시스템에 포함되어야 할 기능, 특성과 기술에 대한 모든 나열 - 요구되는 제품의 요구사항의 우선순위를 나열하고 프로젝트가 진행되면서 진화되고 변경 |
스프린트 백로그 (Sprint Backlog) |
- 해당 스프린트 기간에 수행되어야 하는 작업 목록으로 스프린트 기간 동안 개발 가능한 기능의 항목을 제품 백로그에서 선택 |
스프린트 (Sprint) |
- 4~6주 정도의 Time-boxing 성격을 가진 잘 정의된 반복 개발 주기 각 스프린트 단계 종료 시마다 새로운 기능이 추가되어 실행 가능 제품이 인도되어야 함 |
스크럼 미팅 (Daily Meeting) |
- 매일 약 15분 정도의 짧은 회의인 스크럼 미팅 실시 - 스크럼 마스터는 진척사항 검토, 정상적 종료를 방해하는 위험 및 작업 계획을 확인 |
나. SCRUM의 프로세스
프로세스 |
설명 |
주요활동 |
Prepare Product Backlog |
- 실제로 구현되어야 하는 기능 목록을 나열 - 요구사항 정의서나 기술요구 사항 정의서로부터 도출 |
추정리소스, 우선순위 등 |
Release Planning |
- 해야 할 작업에 대한 계획 수립 - Milestone을 정하여 Release시 마다 작동 가능한 Product Release |
위험의 조기 발견 |
Sprint Backlog |
- Release Planning 이후 각 Release를 달성하기 위한 Sprint 계획 수립 |
20% 버퍼 법칙 적용 |
Sprint Tracking |
- 일일 미팅을 수행하면서 계획에 따른 프로젝트 수행 |
Daily Scrum Burn Down Chart |
Ending Sprint |
- 정해진 기간 동안 Sprint가 종료되면, 정리 실시 |
계획된 일정, 예산 소진시 까지 |
Review Sprint |
- Sprint가 종료된 후에는 Sprint에서 구현된 산출물을 Review하는 단계 |
Test, Code Review |
Update Product Backlog |
- Review 고정에서 나온 추가 요건이나 변경사항을 반영하여 Product Backlog Update - 우선순위 재조정, 요구사항 구체화 |
우선순위 재조정 및 구체화 |
Retrospective |
- SCRUM팀에 운영중인 방법론 자체에 대한 Review, 문제개선 |
SWOT 분석 |
III. SCRUM의 조직구성
역할 |
설명 |
제품책임자 (Product Owner) |
- 제품 기능 목록을 만듬 - 비즈니스 관점에서 우선순위와 중요도를 결정, 새로운 항목을 추가 - 스프린트 계획 수립 시 까지만 역할 수행, 스프린트 운영에 관여하지 않음 |
스크럼마스터 (Scrum Master) |
- 제품 책임자를 돕는 조력자 - 업무를 배분하고 일은 강요하지 않음 - 스크럼 팀이 스스로 조직하고 관리하도록 지원 - 개발 과정에서 스크럼의 원칙과 가치를 지키도록 지원 - 개발 과정에 방해될만한 요소를 찾아 제거 |
스크럼팀 (Scrum Team) |
- 팀원은 일반적으로 5~9명 구성 - 사용자 요구사항을 사용자 스토리로 도출 및 구현 - 기능을 작업 단위로 나누고 일정이나 속도를 추정해서 제품 책임자에게 알림 - 하나의 스프린트에서 생산된 결과물을 제품 책임자가 시연 - 일일 미팅에 참여하여 진척 상황 점검 |
'IT기술노트 > 소프트웨어공학' 카테고리의 다른 글
Kanban (0) | 2021.01.29 |
---|---|
Lean (0) | 2021.01.29 |
Burn-down Chart (0) | 2021.01.27 |
Product Backlog (0) | 2021.01.27 |
XP(eXtreme Programming) (0) | 2021.01.26 |
애자일 방법론 (0) | 2021.01.26 |
RUP(Rational Unified Process) (0) | 2021.01.26 |
SSPL(System & Software Product Line) (0) | 2021.01.26 |
댓글