본문 바로가기

SW 개발방법론 - Agile (애자일)/Scrum (스크럼)

Scrum 개발방법론

개요

스크럼은 애자일 소프트웨어 개발방법론 중 하나로 가장 많이 사용되는 개발 방법론이다.

Scrum 개념도

원칙

개발 주기마다 적용할 기능이나 개선에 대한 목록 작성 (Backlog 작성 - 칸반보드와 같은 보드 활용)

신규 기능, 기존 로직 개선점 등에 우선 순위 부여 (우선순위를 선별하여 정의)

개발 주기는 30일 정도로 조절하고, 개발 주기마다 실제 동작하는 결과 제공

일일 15분 정도의 회의 (데일리 스크럼 진행)

항상 팀 단위로 사고한다.

원할한 의사소통이 가능한 문화를 조성한다.

핵심 사항

개발 사항은 가능한 작은 단위로 만드는 것이 좋다.

Sprint 결과를 리포트, 일정 주기를 두고 회고를 진행한다.

팀원 개개인이 맡은 역할을 수행가능한 상태 이어야 한다.

Scrum 팀 구성원의 추구 가치

약속 : 약속한 것은 확실히 실현 한다, 스크럼 팀의 공동 목표를 달성하기 위해 최선을 다한다.

집중 : 모든 사람은 스프린트와 스크럼 팀의 목표에 집중한다.

열린 마음 : 스크럼팀과 이해 관계자들은 모든 작업과 작업을 수행하는데 따르는 과제에 대해 개발하기로 동의한다.

존중 : 스크럼팀 구성은은 능력있고 독립적인 사람이 되기 위해 서로를 존중한다.

용기 : 스크럼팀 멤버들은 옳은 일을 하고 어려운 문제를 해결할 용기가 있다는것을 상기 시킨다.

Scrum 프로세스 구성 요소

제품 백로그 ( Product backlog )

- 요구사항 목록 (개선해야하거나 개발해야할 요구사항의 리스트)

 

스프린트( Sprint )

- Iteration 주기 (개발을 수행할 주기 - 단위 또는 묶음)

 

스프린트 계획 회의 ( Sprint Planning Meeting )

- Iteration 안에서 백로그로부터 대상 선정, 개발, 사용자 테스트 시점을 협의

결과물에 대한 Iteration 완료 시 결과를 예상하고, 수행에 필요한 각종 요구사항을 Scrum Master (PM) 에게 보고하여 지원받도록 한다.

 

스프린트 백로그 ( Sprint Backlog )

- 스프린트 계획회의를 통해 정리된 작업의 목록

 

일일 스크럼 회의 ( Daily Scrum Meeting )

- 스프린트 백로그에서 오늘 완료한 목록을 팀원들과 공유하고 목록에서 삭제하는 절차

 

실행 가능한 제품 개발 ( Shippable Product )

- 일일 스크럼 회의를 통해 완료되는 목록을 만들기 위해 작업 목록의 크기는 최장 4시간 내로 완료가능한 수준으로 세분화.

 

제품 책임자 ( Product Owner - PM역할)

- 프로젝트 관리자, Product Backlog 를 정의하며, 우선순위를 결정하는 사람

- 이해관계자로부터 프로젝트 지원을 받아내는 역할도 큼.

 

스크럼 마스터 ( Scrum Master - PL역할)

- 스크럼 팀원들에 대한 코칭의 역할이 강조됨.

실무자(개발자)의 구체적 적용 방법

1. 매일 아침 10~15분 가량 익일과 금일에 대한 각자의 진행 업무에 대한 짧은 미팅을 한다. (데일리 스크럼 진행)

이는 Project Owner (PL)가 주도한다.

HotFix, 우선순위 변경, 문제 사항 확인, Bottleneck(병목현상)등을 확인한다.

변경된 요구사항 등도 확인한다.

 

2. 포스트잇으로 Backlog ( task )를 관리한다.

화이트 보드에 TODO, Doing, Done 섹션으로 나눈다. ( 다른 형태 혹은 세분화된 형태도 가능 )

일을 작은 조각으로 나누고, 포스트잇에 각 항목을 기입하여 벽에 붙인다.

포스트잇들을 상태에 따라 섹션에 부착한다.

각 포스트잇에는 일정을 기입하라.

해당 항목을 완료하는 데 소요된 평균 시간을 측정하고 기입하라.

 

3. 화이트 보드의 한편에는 스프린트 목표에 대한 그래프와 예외사항 섹션을 작성한다.

전체적인 일정 관리를 알기 위해 시간(x축), Manday(y축) 을 구성하는 그래프를 추가한다.

계획에 없던 추가된 일과, 다음으로 미뤄야 하는 일 등에 대한 섹션을 두어 예외사항을 관리한다.

정리

1. 개발주기를 짧게 가져가며 해당 개발주기( Sprint 라 부름 )마다 가시화된 Product 를 볼 수 있게 하는 효율적인 개발 방법론.

2. Scrum 은 Scrum 방법론에 대한 전체적인 관리를 하는 Scrum Master (PL) 와 프로젝트를 관리하며 Resource 적 지원을 해주는 Product Owner (PM) 가 필요.

3. 요구사항을 분석하여 Task 들을 나눔 (Scrum 에서는 이 Task 를 Backlog 라 부른다.)

4. Backlog 들에 우선순위를 부여하고, Sprint (개발주기)당 가시화된 Product 를 고려하여 이번 Sprint 에 적용할 Backlog 들을 추림.

5. 화이트보드에는 TODO, Doing, Done, 스프린트 목표 그래프, 예외사항 섹션을 준비하여 관리 한다.

6. Backlog 들을 더 잘게 쪼개 일정과 함께 포스트잇에 작성하여 화이트 보드의 TODO 에 붙임.

7. 아침에 10~15분 회의(데일리 스크럼)를 통해 현재 상황들에 대해 간단히 공유하고, 오늘 할 일을 정해 포스트잇을 Assign, 스프린트 목표 그래프 업데이트 등 작업을 수행한다.

8. 구성원들의 참여도가 높아야 함. (자발적 구성 조직일수록 좋다.)

그리고 솔직해야 하며, 실력도 출중 (혹은 상호 파악) 해야 좋다.