본문 바로가기
기타

[소프트웨어 개발 방법론] 애자일 - 스크럼(Scrum)

by soobaaaam 2022. 2. 5.
728x90

애자일 개발 방법론 중 하나인 스크럼은 1990년대 초반에 만들어졌다.

스크럼은 소프트웨어 개발팀의 특정 역할, 소프트웨어를 개발하는 작업 흐름, 스프린트라고 부르는 회의를 특정 규범에 따라 정의한 방법론이다.

 

1. 스크럼 직책

 

스크럼에는 3개의 직책이 있다.

 

  • 제품 책임자(Product Owner) : 소비자의 소리를 전달하고 작업의 우선순위를 결정한다. 
  • 개발팀 : 소프트웨어 배포와 관련된 모든 일을 맡는다.
  • 스크럼 마스터(Scrum Master) : 팀이 하는 일을 지연시키는 방해물을 제거하고 스크럼이 문제없이 진행될 수 있게 돕는다.

 

2. 스크럼 진행 방식

 

스크럼은 기본적으로 작은 반복 주기로 나누는 '스프린트'로 소프트웨어 개발을 한다. 스프린트로 정해둔 기간 내에 해야 할 것들의 양을 정한다.

스크럼 진행 방식은 다음과 같다.

 

1. 소프트웨어에 필요한 기능들을 모두 '제품 백로그(Product Backlog)'에 넣어두고 우선순위를 정한다.

2. 각 스프린트마다 스프린트 백로그를 만든 뒤 제품 백로그 항목에서 해당 스프린트에 작업할 항목을 모아둔다. 스프린트는 1~2주 정도로 나뉜다.

3. 각 스프린트가 시작될 때 계획 회의를 연다. 이 회의에서 해당 스프린트에 처리한 백로그 항목을 정하고 이를 달성하기 위해 필요한 노력의 수준을 추산한다.

4. 매일 모든 팀원이 모여 자신이 진행하는 업무에 대해 아주 짧게 공유하는 스크럼 회의를 연다. 이는 업무 진행 상황을 전체 팀원과 공유하고 업무를 지연시키는 방해물을 제거하려는 목적이다. 스크럼 회의에서 각 팀원은 다음 세 가지의 질문에 답해야 한다.

 

  • 어제는 팀의 스프린트 목표 달성에 도움이 될 만한 어떤 일을 했는가?
  • 오늘은 팀의 스프린트 목표 달성에 도움이 될 만한 어떤 일을 할 것인가?
  • 본인이나 팀의 스프린트 목표 달성을 막는 장애물이 있는가?

 

5. 스프린트가 진행되는 동안 업무 진행 상황과 속도를 추적하기 위해 소멸 차트(Burndown Chart)를 사용한다. 

6. 스프린트가 끝나면 지난 스프린트를 돌아보고 다음 스프린트에 대한 아이디어를 생각하는 회고 회의를 연다.