Scrum
Scrum이란?
- 스크럼(Scrum)은 프로젝트 관리를 위한 상호 ・ 점진적 개발방법론
- 애자일(Agile) 소프트웨어 개발 중의 하나
- 스크럼은 소프트웨어 개발 프로젝트를 위하여 고안되었지만, 소프트웨어 유지보수 팀이나 일반적인 프로젝트/프로그램 관리에서도 적용 가능
Scrum의 특성
- 스크럼은 특정 언어나 방법론에 의존적이지 않으며, 개발 언어는 물론이고 객체지향 언어와도 관련이 없는 넓은 응용 범위의 개발 기법
- 솔루션에 포함할 기능/개선점에 대한 우선 순위를 부여한다.
- 개발 주기는 30일 정도로 조절하고 개발 주기마다 실제 동작할 수 있는 결과를 제공하라.
- 개발 주기마다 적용할 기능이나 개선에 대한 목록을 제공하라.
- 날마다 15분 정도 회의를 가져라.
- 항상 팀 단위로 생각하라.
- 원활한 의사소통을 위하여, 구분 없는 열린 공간을 유지하라.
Scrum의 진행
- 스크럼에서는 30일간의 주기로 실제 동작하는 제품을 만들면서 개발을 진행
- 일반적인 권장기간은 30일이지만, 스크럼 적응도 및 진행 상황에 따라 1주~4주의 유연성을 가짐
- 스크럼 진행 시 나타나는 중요 요소
- 제품 백로그(Product Backlog) : 개발할 제품에 대한 요구 사항 목록
- 스프린트(Sprint) : 반복적인 개발 주기
- 회사에서 정하는 이터레이션이 개발 주기가 됨
- 계획 회의 부터 제품 리뷰가 진행 되는 날짜 까지의 기간이 1스프린트
- 스프린트 계획 회의(Sprint Planning Meeting) : 스프린트 목표와 스프린트 백로그를 계획하는 회의
- 스프린트 백로그(Sprint Backlog) : 각각의 스프린트 목표에 도달하기 위해 필요한 작업 목록
- 일일 스크럼 회의(Daily Scrum Meeting) : 날마다 진행되는 미팅 (어제 한일, 오늘 할일, 장애 현상 등을 공유)
- 실행 가능한 제품(shippable product) 개발 : 스프린트의 결과로써 나오는 실행 가능한 제품
- 상기 요소들을 아래와 같은 순서에 따라 사용하여 스크럼을 진행
- 제품에서 요구하는 기능과 우선순위를 제품 백로그로 정한다.
- PO가 정한 제품의 우선순위에서 어디까지 작업을 할지 팀과 조율 한다. 조율하여 선정된 제품 백로그가 이번 스프린트의 목표가 된다.
- 스프린트 목표를 구현 가능 하도록 팀에서 스프린트 백로그를 작성한 뒤 작업을 할당한다.
- 스프린트를 진행하는 동안, 매일 정해진 장소와 시간에 모든 개발 팀원이 참여하는 일일 스크럼 회의를 가진다.
- 매회의 스프린트가 종료할 때마다, 스프린트 리뷰 미팅을 통해 만들어진 제품을 학습하고 이해 한다.
- 제품의 학습과 이해가 끝나면, 스프린트 회고를 통해 팀의 개발 프로세스에 대한 개선의 시간을 갖는다.
- 스프린트 기간 중 다음 스프린트를 준비 하기 위해 PO와 필요 인원이 모여 백로그를 준비하는 시간을 갖는다.
Tip!
제품 책임자(Product Owner) : 제품 백 로그를 정의하여 우선순위를 정해 준다.
스크럼 마스터(Scrum Master) : 프로젝트 관리자(코치)