프로세스 (7) - 애자일 프로세스 모델 (2) - 스크럼 (Scrum)

소프트웨어공학

2020. 5. 13. 16:20

1. 스크럼이란?

[영상] 럭비의 "스크럼"
  • "스크럼"은 본래 럭비 용어인데, 반칙등으로 게임이 중단되었을 때, 공격권을 찾아오기 위한 경쟁대형임
  • 8명이 힘을 합쳐서 상대팀을 밀어내는데, 개인이 잘한다고 되는 것이 아니라, 팀이 마치 하나처럼 움직여야함
  • 개발프로세스 "스크럼"역시 팀원들이 마치 하나처럼 움직이고 따라줘야 성공할 수 있는 프로세스라는 의미.

 

2. 스크럼 프레임워크

[그림] 스크럼 프레임워크

1) 역할 분배

  • Scrum Master (스크럼 마스터) : 프로세스 진행자, 미팅 주재, 장애물제거, 관리자 (감독)
  • Product Owner (제품 책임자) : 백로그를 정의하고 투명하게 관리, 유능한 엔지니어 (코치)
  • Member (팀원) : 5~9명 정도의 팀으로 구성, 가까운 거리에서 함께 일해야함 (대규모X)

 

2) 스크럼 과정

int main(){

	// 제품 기획 단계
    프로덕트 백로그 작성;
    동작하는 소프트웨어 = null;
    
    while(프로젝트 완수 == false){
    
		// 스프린트 계회단계
		스크럼 백로그 = 스크럼 플래닝 미팅();
		소스코드 = null;
		
		// 개발 및 유닛테스팅
		for(day=0; day<n_weeks; day++){
			데일리 스크럼미팅();
			소스코드 += 소스코드 개발();
			유닛테스트(소스코드);
		}
            
		// 통합 및 릴리즈
		동작하는 소프트웨어 += 소스코드
		제품 릴리즈(동작하는 소프트웨어);
    	
		// 리뷰와 회고
		스크럼 리뷰();
		스크럼 회고();
    }
}
  • 프로덕트 백로그 : 제품책임자가 고객에게 요구사항을 받아서 프로덕트 백로그를 작성
  • 스프린트 플래닝 미팅 : 이번 스프린트에 어떤 작업들을 수행할지 회의 및 결정
  • 스프린트 백로그 작성 : 플래닝 미팅을 바탕으로 스프린트 백로그 작성
  • 데일리 스크럼 미팅 : 매일 15 ~ 30분정도 데일리 미팅 수행, 현재 작업정보 확인
  • 개발 & 유닛테스트 : 매일 데일리 미팅 -> 개발 -> 데일리 미팅 -> 개발을 반복함
  • 소스코드 통합 : 동작하는 소프트웨어 (Working Software)에 소스코드 통합
  • 제품 릴리즈 : 스프린트 결과를 제품에 포함하여 새 버전을 릴리즈함.
  • 스크럼 리뷰 : 개발내용을 서머리, 다음 스프린트 논의, 백로그 수정, 완성/실패 부분 서머리
  • 스크럼 회고 : 이번 스프린트에서 잘못했던 점이나 잘한 점을 회고하여 프로세스를 발전시킴

 

3) 스프린트 백로그 만드는 방법

[그림] 스프린트 백로그

  • 할일 : 이번 스프린트 때 개발해야할 작업의 목록이다.
  • 진행 중 : 사용자스토리 중 개발을 시작하면 진행중으로 옮김. 즉 현재 진행중인 작업을 가리켜 말함.
  • 완료 : 개발이 완료되면 진행중에서 개발로 옮김. 즉 개발이 끝난 항목을 가리켜 말함.

 

[그림] 소멸(Burndown) 차트

  • 소멸차트 : 현재 얼마나 많은 작업이 남았는지 아래와 같은 그래프를 그림.
  • 소멸차트의 경우 0에 도달하면 프로젝트가 끝난 것이고 위로 올라가면 장애물이 생긴 것.
  • 소멸차트 기울기가 가파를 수록 작업을 빠르게 수행하는 팀이라는 것임.

 

3. Reference

 

소프트웨어공학 개론

소프트웨어를 개발하고 유지보수하는 데 적용되는 체계적이며 원리적인 접근 방법을 소개한다. 소프트웨어를 개발하는 프로젝트를 계획하는 기법, 사용자의 요구를 분석하는 기법, 소프트웨어

www.kocw.net