본문 바로가기

Development/etc

[Scrum] 간략한 소개

스크럼은 시스템 개발 프로젝트 초기에 많이 사용된다. 





우선 제품 백로그(Product Backlog)를 작성한다. 제품 백로그란 기능(Functionality), 특성(features)과 같은 기술을 우선순위에 따라 나열한 목록을 말한다. 제품 백로그는 결코 확정되지 않는다. 오히려 제품과 함께 성장하고 진화한다. 우선순위가 가장 높은 항목은 필요한 항목이다. 누구나 백로그의 내용들을 제안할수 있다. 하지만 제품 책임자(Product Owner)만이 항목에 우선순위를 부여할수 있다.

그리고 팀이 모든 개발을 수행한다. 30일의 반복주기, 즉 한 스프린트(Sprint) 동안에 개발가능하다고 생각한 만큼 제품 백로그를 선택한다.매 스프린트 끝에는 새로운 기능이 추가되어 실행가능한 제품이 인도되어야 한다. 아키텍쳐와 설계는 첫 스프린트에서 완료되는 것이 아니라 여러번의 스프린트를 거쳐야 서서히 드러나게 된다.

복수의 팀이 동일한 백로그를 놓고 병렬로 여러 개의 제품 증분을 개발할 수 있다. 스크럼 팀들을 오직 그들이 속한 조직의 표준과 관행 그리고 자신들이 선택한 백로그에 의해서만 제약을 받는다.

스크럼이 잘되기 위해서는 팀이 자발적으로 신념이 있어야한다. 스프린트 동안 관라지 즉, 스크럼 마스터(Scrum Master)는 팀원이 스크럼의 실천법을 실천하도록 강제하고 팀이 결정을 내러가나 혹은 필요한 자원을 얻을수 있도록 돕는다.

스크럼 팀은 매일 일일 스크럼(Daily Scrum)이라고 불리는 짤막한 현황 회의를 갖는다. 관리자는 진행사항을 검토하고 제거해야 하는 장애물 확인한다. 


스크럼은 직설적이다. 스커럼으 부적절하고 성가신 관리 관행들을 날려버리고 오직 업무 그 자체만을 남겨둔다. 자유롭게 놓아두고 업무에 집중하도록 하며, 가능한 최고의 제품들을 만들 수 있도록 해준다. 개발자로 하여금 업무에 집중해서 재빨리 고품질의 제품을 만들어 내도록 하는데 필요한 모든 관리 및 통제권을 제공한다.