본문 바로가기
IT 기본개념

[IT구축] SCRUM 방법론

by 라이프해커 김탁구 2022. 11. 27.
반응형

1. SCRUM 개요

1) SCRUM의 정의
- 개발 환경을 최대한으로 이용하고 조직의 고정비를 줄이며 반복적인 프로토타입을 기반으로 시장 수요에 가깝게 동기화하는 세트 입니다.
- 비즈니스 요구 사항을 만족시키는 S/W 개발하는데 초점을 맞추기 위해 복잡함을 제거하는 관리 및 제어 프로세스 입니다.
- 짧은 주기 내에 실행 가능한 제품(Shippable Product)을 개발하는 기법 입니다.

2) SCRUM의 특징

(1) 협업 중심 : SCRUM은 주로 팀 수준의 사안을 다루며, 효율적으로 팀원들이 협업할 수 있는 환경 제공하고 팀원들의 협업을 통해 고품질의 제품을 생산
(2) 사회공학 기법 : 프로젝트 이해관계자들의 적극적인 협력과 참여를 촉진하여, 관련자의 성취감의 충족을 목적으로 함
(3) Sprint 수행 : 통상 약 4~6주(30일) 기간의 Time box를 가지며, 이를 반복 수행함
(4) Daily Meeting : 8~10명 정도의 SCRUM팀은 매일 15분 정도의 회의를 통해 진척관리와 이슈 중심의 계획 리뷰 실시
(5) 독립적 방법론 : 특정 언어 및 방법론에 의존하지 않으며, 개발 언어와 상관없이 적용 가능한 폭넓은 응용 범위의 개발

3) SCRUM이 추구하는 가치

(1) 확약 : 약속한 것을 확실히 실현하는 것
(2) 전념 : 확약한 것의 실현에 전념하는 것
(3) 정직 : 비록 자신에게 불리한 일이라도 숨기지 않는 것
(4) 존중 : 자신과 다른 사람에게 경의를 표하는 것
(5) 용기 : 위의 사항을 언제든지 지킬 수 있는 용기

 

2. SCRUM 구성요소

1) Product Backlog

- 시스템에서 해결해야 하거나, 시스템에 포함되어야 할 기능, 특성과 기술에 대한 모든 기술 나열
- 요구되는 제품의 요구사항의 우선순위 나열
- 프로젝트가 진행되면서 진화되고 변경
2) Sprint Backlog

- 해당 Sprint 기간에 수행되어야 하는 Task 목록으로 Sprint 기간 동안 개발 가능한 기능 목록을 Product Backlog에서 선택
Sprint - 통상 4~6주(30일) 정도의 Timebox 성격을 가진 잘 정의된 반복 개발 주기
- 각 Sprint 단계 종료 시 새로운 기능이 추가되어 실행 가능 제품이 인도되어야 함
3) Daily Scrum

- 매일 약 15분 정도의 짧은 회의
- SCRUM Master는 진척 사항 검토, 정상적 종료를 방해하는 위험 및 작업 계획을 확인

 

3. SCRUM 프로세스

프로세스 상세 설명 특징
Prepare Product Backlog -  실제로 구현되어야 하는 기능 목록을 나열
-  SRS(요구사항정의서)나 TRS(기술요구 사항정의서)로부터 목록 도출
추정리소스, 우선순위 등
 
Release Planning -  해야 할 작업(일)에 대한 계획 수립
-  Milestone을 정하여 Release시가 마다 작동 가능한 Product Release
위험의 조기 발견
Sprint Planning Release Planning 이후 각 Release를 달성하기 위한 Sprint 계획 수립 20%버퍼 법칙 적용
Sprint Tracking 일일 미팅(Daily Scrum)을 수행하면서 계획에 따른 프로젝트 수행 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분석

 

4. SCRUM과 XP 비교

구분 SCRUM XP
형태 -  개발 프로세스를 위한 프레임워크
-  관리 조직적 실천법에 집중
-  특정한 엔지니어링 방법을 포함하지 않음
-  엔지니어링 방법에 초점을 맞춤
-  프로그램 실천법에 집중
-  개발 프로세스의 핵심 프레임워크는 포함하지 않음
개발주기 4~6 1~2
요구사항
변경
-  Sprint 내에서 요구사항 변경을 수용하지 않음
-  변화를 최대한 빨리 발견하고 처리하는 관점에서 접근
-  리팩토링을 통하여 요구사항 변경을 수용
-  요구사항 변경은 당연히 발생하 것으로 인정
개발 우선순위 결정 주체 Product Owner 아닌 Team 개발 우선순위 결정 Customer 개발 우선순위를 결정
공통점 Agile 방법론으로서 짧은 개발 주기로 반복 개발

 

5. SCRUM 적용 현황 및 적용 시 고려사항

1) SCRUM 적용 현황
-  금융, 보험 등 보수적인 산업에 있는 기업과 Google, Yahoo, MS 등도 SCRUM을 선택
-  Agile 방법론 실행 팀 중 50%가 Scrum 사용하고, 20%가 Scrum을 XP 구성 요소와 함께 사용하고, 12%가 XP만을 사용
2) SCRUM 프로젝트 적용 시 고려사항
-  전체 프로젝트의 Mile Stone은 기존 개발방법론을 사용하고, SCRUM 방법론은 각 단계에 대한 Task를 위해서 사용
- 어떤 전문화된 시스템이나 도구가 아니라, 팀이 최대한의 효율을 낼 수 있는 프로세스가 중요

반응형

댓글