X

SCRUM

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를 위해 사용

 

도리: