본문 바로가기

정보관리기술사/소프트웨어공학

SCRUM

반응형

I. SCRUM의 개요

. Agile 기법 SCRUM의 정의

- 개발 환경을 최대한으로 이용하고 조직의 고정비를 줄이며 반복적인 프로토타입을 기반으로 시장 수요에 가깝게 동기화 하는 세트

- 비즈니스 요구 사항을 만족시키는 소프트웨어를 개발하는데 초점을 맞추기 위해 복잡함을 제거하는 관리 및 제어 프로세스

- 짧은 주기 내에 실행 가능한 제품(Shippable Product)을 개발하는 기법

- Agile 방법론 중의 하나로, Product Backlog를 바탕으로 하여 기술적으로 분할되고 재해석된 스프린트(Sprint)를 스크럼 팀(team)을 통해 구현해 나가는 개발방법론

.등장배경

0. SCRUM 1986년 일본에서 개발 환경을 최대한으로 이용하고 조직의 고정비를 줄이며 반복적인 프로토타입을 기반으로 시장 수요에 가깝게 동기화 하기 위함

가. 비즈니스 요구 사항을 만족시키는 소프트웨어를 개발하는데 초점을 맞추기 위해 복잡함을 제거하는 관리 및 제어 프로세스

다.   스크럼의 특징

특징

설명

협업 중심

-    SCRUM은 주로 팀 수준의 사안을 다룸.

-    효율적으로 팀원들이 협업할 수 있는 환경 제공

-    팀원들의 협업을 통해 고품질의 제품을 생산

사회공학 기법

프로젝트 이해관계자들의 적극적인 협력과 참여를 촉진하여, 관련자의 성취감의 충족을 목적으로 함

Sprint
수행

통상 약 4~6(30) 기간의 Time box를 가지며, 이를 반복 수행함

Daily Meeting

8~10명 정도의 SCRUM팀은 매일 15분 정도의 회의를 통해 진척관리와 이슈 중심의 계획 리뷰 실시

독립적 방법론

특정 언어나 방법론에 의존하지 않으며, 개발 언어와 상관없이 적용 가능한 폭넓은 응용 범위의 개발 기법

※ 스크럼의 성공적인 수행을 위해서는 원활한 의사 소통이 필수이며,
 
이를 위해 구분 없는 열린 공간을 유지해야 함

※ 스크럼은 구체적인 실천방법이기보다는 팀 성과에 대한 가시성을 기반으로 “관찰과 적응” 메커니즘 제공

 

II. SCRUM의 구성요소

가. SCRUM의 구성요소

구성요소

설명

Product Backlog

-    시스템에서 해결해야 하거나, 시스템에 포함되어야 할 기능, 특성과 기술에 대한 모든 기술 나열

-    요구되는 제품의 요구사항의 우선순위 나열

-    프로젝트가 진행되면서 진화되고 변경

Sprint Backlog

-    해당 Sprint 기간에 수행되어야 하는 Task 목록으로 Sprint 기간 동안 개발 가능한 기능의 목록을 Product Backlog에서 선택

Sprint

-    통상 4~6(30) 정도의 Timebox 성격을 가진 잘 정의된 반복 개발 주기

-    Sprint 단계 종료 시 새로운 기능이 추가되어 실행 가능 제품이 인도되어야 함

Daily Scrum

-    매일 약 15분 정도의 짧은 회의

-    SCRUM Master는 진척 사항 검토, 정상적 종료를 방해하는 위험 및 작업 계획을 확인

III. SCRUM XP와의 비교

   구분

SCRUM

XP

형태

-      개발 프로세스를 위한 프레임워크

-      관리 및 조직적 실천법에 집중

-      특정한 엔지니어링 방법을 포함하지 않음

-      엔지니어링 방법에 초점을 맞춤

-      프로그램 실천법에 집중

-      개발 프로세스의 핵심 프레임워크는 포함하지 않음

개발주기

4~6

1~2

요구사항
변경

-      Sprint 내에서 요구사항 변경을 수용하지 않음

-      변화를 최대한 빨리 발견하고 처리하는 관점에서 접근

-      리팩토링을 통하여 요구사항 변경을 수용

-      요구사항 변경은 당연히 발생하는 것으로 인정

개발 우선순위 결정 주체

Product Owner가 아닌 Team이 개발 우선순위 결정

Customer가 개발 우선순위를 결정

공통점

Agile 방법론으로서 짧은 개발 주기로 반복 개발

반응형