I. 팀 생산성 극대화 개발 방법론, SCRUM의 개요
가. SCRUM의 개념
작은 개발팀, 짧은 개발 주기, 팀 집중력과 생산성 유지로 점진적, 반복적으로 SW를 개발하는 Agile 방법론의 한 유형
나. SCRUM의 특징
구분 | 내용 |
---|---|
협업 중심 | 항상 팀 단위로 생각하며, 협업을 통해 고품질의 제품을 효율적으로 생산하기 위한 환경 제공 |
사회공학기법 | 프로젝트 이해관계자들의 적극적인 협력과 참여를 촉진하여 관련자의 성취감 충족을 목적으로 함 |
Sprint 수행 | 통상 30일 기간의 Time box를 가지며, 반복 수행함 Sprint 주기마다 적용할 기능이나 개선 목록 제공 |
Daily Meeting | 8~10명 정도 SCRUM팀은 매일 15분 정도 회의를 통해 진척관리와 이슈 중심의 계획 리뷰 실시 |
독립적 방법론 | 특정 언어나 방법론에 의존하지 않고 개발 언어에 관계없이 적용 가능한 폭넓은 범위의 개발 기법 |
다. SCRUM이 추구하는 가치
구분 | 내용 |
---|---|
확약 | 약속한 것을 확실히 실현 |
전념 | 확약한 것의 실현에 전념하는 것 |
정직 | 비록 자신에게 불리한 일이라도 숨기지 않는 것 |
존중 | 자신과 다른 사람에게 경의를 표하는 것 |
용기 | 위의 사항을 언제든지 지킬 수 있는 용기 |
II. SCRUM 프로세스 및 구성요소
가. SCRUM 프로세스
- 각 Iteration은 Sprint라고 부르며 각 Sprint는 1 ~ 4주 정도의 기간을 가짐
나. SCRUM 구성요소
수행주체 | 구성요소 | 내용 |
---|---|---|
Product Owner | Product Backlog | – 제품 요구사항 중 우선순위 나열 목록 |
Prioritize | – PB 중 우선 개발되어야 할 항목 정의 | |
Sprint Planning | – Time boxing 내 Delivery 목표 수립미팅 | |
Scrum Master | Sprint Backlog | – Sprint기간 내 목표 달성 Task 목록 |
Burndown Chart | – 시간에 따른 수행 필요 Sprint 목록 | |
Sprint Review Meeting | – Sprint 기간 중 달성목표와 계획 비교 | |
Scrum Team | Sprint | – 통상 2~4주 개발~리뷰 반복 개발주기 |
Daily Scrum Meeting | – 매일 진척사항 검토, 이슈 공유 회의 | |
Retrospective Meeting | – Sprint 진행 후 Lessons Learn 회고미팅 |
III. SCRUM과 타 개발 방법론 비교
가. SCRUM과 XP의 비교
비교항목 | SCRUM | XP |
---|---|---|
형태 | 관리 및 조직적 실천법 집중 개발프로세스 프레임워크 | 프로그램 실천법에 집중 엔지니어링방법에 초점 |
개발주기 | 4 ~ 6주 (30일) | 1 ~ 2주 (10일) |
요구사항변경 | Sprint내 요구사항변경 불가 | 요구사항 변경 수용 |
개발우선순위 | Team이 개발 우선순위 결정 | 고객이 개발우선순위 결정 |
공통점 | Agile 방법론으로 짧은 개발 주기로 반복 개발 |
나. SCRUM과 XP의 용어 비교
SCRUM | XP |
---|---|
Product Owner | Customer |
SCRUM Master | XP Coach |
Team | Team |
Sprint | Iteration |
다. SCRUM과 CBD 비교
비교항목 | SCRUM | CBD |
---|---|---|
정의 | 프로토타입을 반복 점진적으로 개발하는 Agile 방법론 | 기 개발된 모듈을 조립하여 새로운 시스템 구축 방법론 |
특징 | 반복,점진적 프로토타입개발 | 컴포넌트(모듈) 검색/조립 |
확장방법 | Sprint backlog iteration 기법 | 모듈 호출 인터페이스 사용 |
장점 | 빠른 개발 주기 프로젝트초반 요구사항 명확 | 재사용성 극대화 장기적 관점 개발비 감소 |
단점 | 대형 프로젝트 적용 어려움 산출물 중시 사업에 부적합 | 공용 모듈 개발, 유통 한계 개발 전문업체가 부족 |
IV. SCRUM 프로세스 적용을 위한 구성원의 역할
구성원 | 역할 |
---|---|
PO (Product Owner) | Product Backlog 작성, 관리 및 우선순위 결정 고객, 관리자, 팀원들과 협업을 통해 목표 설정 |
SM (Scrum Master) | 일정 추진 최종 결정권자로 팀원에 업무,권한 부여 프로젝트 관리자로서 팀원을 코칭, 문제 상황 해결 |
SCRUM Team | 4~7명의 개발자로 Sprint Backlog 기반 Product Backlog 에 따라 Sprint 기간 내 구현 |
– SCRUM 방법론은 각 단계에 대한 Task를 위해 사용