본문 바로가기

Development/etc

[Scrum] 스크럼 적용하기 (1)

신규 프로젝트에서 스크럼 실천하기

- 초기 스프린트에는 두가지 목적이 있다. 첫째, 팀은 기능을 구현할 개발 환경을 정착시켜야 한다. 둘째, 팀은 30일 이내에 고객에게 시연하기 위해 시시트메의 구동부를 구축한다. 이처럼 기능을 재빨리 시연함으로써 고객이 더욱 많이 생각하게 하고 또한 참여하게 한다. 제품 백로그는 애써 완성하려 들 필요는 없다. 다음에 진행 할 스프린트에서 필요한 우선순위가 높은 작업들만 충분히 추가되어 있으면 된다. 스크럼에 대해 감을 잡아 가면서, 제품 백로그에 대한 장기적인 시각을 갖기 시작한다.


진행중인 프로젝트에서 스크럼 실천하기

- 개발환경 이미 구축, 타깃으로 삼은 기술에 익숙한 상황에는 스크럼 마스터는 일일 스크럼을 주관하는 일부터 시작한다. 무엇이 팀을 방해하는지 찾아내고 논의한다. 논의를 마치는 시점에서 "다음 30일 동안 무엇을 개발할 수 있습니까?"라는 질문을 던진다. 팀은 무엇가를 만들어야 궁극적으로 소프트웨어 개발을 완료할 수 있다는 자신감을 스스로 가질수 있을 뿐만 아니라, 이를 위해 서로 협력하는 모습을 기대한다. 고객에게는 중요한 기능에 우선 집중하도록 한다. 이때의 스프린트의 목표는 "선택한 기술을 이용해 어떤 사용자 기능이든 시연한다." 이다.


엔지니어링 실천법 개선하기

- 일일 스크럼을 사용해서 현재 시행 중인 엔지니어링 실천법의 결함을 찾아내고 팀 그리고 관리자와 함께 이를 개선한는 작업에 착수한다. 그리고 일일 빌드를 시행한다. 일일 빌드를 시행하게 되면 코드 동기화 작업도 진행되며 코드가 깔끔하게 컴파일되는 효과를 볼수 있다. 최고의 스크럼 마스터는 동시에 훌륭한 엔지니어이다. 팀이 자신의 엔지니어링 실천법을 재평가하고 폐기하도록 하는 한편 새로운 것을 평가하고 설계하고 도입하도록 한다.


협업을 통한 비즈니스 가치 구현

- 스크럼은 관리자, 고객과 개발팀 사이에 훨씬 많은 협업을 필요로 한다. 고객은 팀의 지원을 받아서 비전과 시스템 요구사항(제품 백로그)을 만든다. 초반에 명확하게 정리 될수 있다는 신화는 깨졌기에 세번의 스프린트 동안 충분하고 우선순위가 높은 요구사항들을 먼저 정리 나머지 요구사항들을 구현됨에 따라 알게 된다. 팀은 추정치를 준비하고 고객은 초기에 예측 가능한 제품 백로그에 예산을 할당한다. 각 스프린트의 끝자락에서 관리자는 팀과 함께 개발된 기능을 검토하고 그 가치를 평가한다. 첫 세 번의 스프린트가 끝날 즈음, 대개의 경우 경영진은 여태까지의 진척 상황과 개발된 기능에 흡족해 하면서, 더 많은 기능 개발에 자금을 투입한다. 경영진은 제품 백로그를 살펴보고, 자신들이 투자하고자 하는 항목들을 선택한다. 팀은 고객이 개발에 자금을 투자하는 한 계속적으로 기능을 개발하고 인도한다. 스크럼 팀이 스프린트 목표를 달성하기 위해서 기능을 축소시킬수 있다고 말한바 있다. 하지만 보통은 그 반대라는 점도 분명히 하고 싶다. 스크럼은 팀 스스로 자신들의 공약 (commitment)을 지키기 위한 창의적인 방법을 찾도록 도와준다. 


'Development > etc' 카테고리의 다른 글

[Java] Class Field 접근 및 값 수정  (0) 2013.11.15
Mongo DB 설치하기~!  (0) 2013.11.13
[Scrum] 스크럼의 실천법(4)  (0) 2013.11.12
[Scrum] 스크럼의 실천법(3)  (0) 2013.11.11
[Scrum] 스크럼의 실천법(2)  (0) 2013.11.10