왜 많은 소프트웨어 개발이 실패하는가? 여러가지 이유가 있지만 본 책에서는 현재까지 사용한 많은 소프트웨어 개발방법론이 완전하지 않기 때문이라는 얘기가 반복적으로 언급된다. 소프트웨어 개발방법론이 사전에 모든 것을 정확히 분석하고 파악이 되어야지만 완전한 개발로 이어질 수 있는데,소프트웨어 개발이 워낙 복잡하게 얽혀있다보니 초반에 모든 것을 파악하기 힘들고 따라서 불완전한 가정에서 출발한 개발은 원래의 계획대로 이루어질 수 없다는 것이다.
스크럼은 초반에 모든 것을 고정시켜 놓지 않고 개발 과정에서 팀원간의 협의, 그리고 스크럼 마스터의 판단에 의해 지속적으로 변화되도록 이루어진다. 약 한달을 한번의 개발 기간으로 정하고(스프린트) 여러 스프린트를 반복적으로 수행하여 목표하는 완전한 시스템을 개발하는 것이다. 이 과정 중에 백로그로 표현되는 개발항목에 대한 우선순위 조정 및 개발에 영향을 미치는 요소들을 해결해 주는 스크럼 마스터의 역할이 중요하다.
충분하지 않은 요구 사항과 분석을 완벽하게 만들고 시작하지 않고 개발을 진행하면서 다이나믹하게 변화시켜 나간 다는 것은 개발 기간 및 붕필요한 시간을 줄여줄 수 있을 것으로 보인다. 그리고 요구사항으로 표현할 수 있는 백로그의 취합 및 우선순위 결정을 스크럼 마스터가 유일하게 관리하고 있으므로 팀원들이 외부의 서로다른 요구 사항에 의해 개발이 흐트러지는 경우도 발생하지 않을 것이다.
하지만 전반적으로 스크럼을 성공적으로 사용하기 위해서는 스크럼을 이해하는 것이 중요하다고 생각되며, 그 보다는 개발에 대한 도메인 지식을 가지고 있는 팀원이 일정 인원이상 확보되어야만 가능한 방법으로 보여진다. 즉 팀원들이 자체적으로 개발프로젝트를 최선의 방향으로 이끌어갈 수 없다면 스크럼 방법을 통한 개발은 성공할 수 없을 것이다.
물론 기존 정적인 개발방법론을 대산하여 새롭게 시도해 볼 수 있는 개발방법론이지만 항상 성공을 보장해주는 만능 개발 방법론은 아니며, 기존 개발방법론 내에서 일부 개발과정으로 보완하여 적용할 수 있는 유요한 방법론이라고 생각된다.
옮긴이 글-박일, 김기웅 추천 글-김창준 추천 글-로버트 C. 마틴 추천 글-마틴 파울러 들어가는 글
1. 스크럼을 시작하며 스크럼이 사용되는 현장 스크럼에 대한 간략한 소개 스크럼에 대한 증언들 제프 서덜랜드로부터 켄 슈와버로부터 마이크 비들로부터 이 책의 구성
2 스크럼 준비 스크럼은 다르다 소란스러운 프로젝트 행동으로 소란을 잠재우다 자기 조직화 경험적으로 반응하라 프로젝트에 하루 단위의 가시성을 부여하기 점진적인 제품 인도
3 스크럼의 실천법 스크럼 마스터 제품 백로그 제품 소유자 한 사람만이 제품 백로그를 관리한다 백로그를 개발하는데 필요한 노력 추정하기 스크럼 팀 역동적인 팀 팀의 크기 팀의 구성 팀의 책임과 권한 작업 환경 일일 스크럼 회의 회의실 만들기 닭과 돼지 회의 시작하기 일일 스크럼의 형식 장애 요소 식별하기 의사결정 후속 회의 개최하기 스프린트 계획 회의 스프린트 계획 회의의 개요 다음 스프린트의 목표 선정과 제품 백로그 확정 스프린트 목표에 맞게 스프린트 백로그 정의하기 스프린트 제품 증분은 혼돈의 산물이다 방해 금지, 난입 금지, 잡상인 금지 스프린트의 동작 메커니즘 비정상적인 스프린트 중단 스프린트 검토
4 스크럼 적용하기 스크럼 실천하기 신규 프로젝트에서 스크럼 실천하기 진행 중인 프로젝트에서 스크럼 실천하기 엔지니어링 실천법 개선하기 협업을 통한 비즈니스 가치 구현 스크럼 관리의 예시 경험주의적인 관리 직접적인 관찰을 빈번하게 하라 백로그, 진척 상황 평가하기와 미래 예측하기 스프린트 관리하기 스프린트 성향 릴리스 관리하기 비용, 날짜, 품질, 기능 관리하기 트레이드오프의 기본 원리
5 왜 스크럼인가? 일상의 잡음 시스템 개발 프로젝트에서 일어나는 잡음 왜 기존의 시스템 개발 방법론은 통하지 않나? 왜 스크럼은 될까? 사례 연구
6 왜 스크럼은 통할까? 스크럼 이해하기 신제품 개발이라는 관점 리스크 관리와 예측의 관점 패러다임 전환적 관점 지식 생성의 관점 복잡계 과학의 관점 정의 특징 스크럼 조직, 프로세스, 규칙 인류학적 관점 시스템 역학적 관점 정신 분석적 관점 럭비의 메타포
7 스크럼 적용 고급편 여러 프로젝트가 연관되어 있는 곳에 스크럼 적용하기 첫 번째 애플리케이션 재사용성 초기 설정과 공용 자원 스크럼 팀 두 번째 애플리케이션 개발하기 더 많은 애플리케이션 개발하기 각 기법에 대한 복습 스크럼을 더 큰 프로젝트에 적용하기 동작하는 첫 프로토타입과 최초 개발팀 재사용성 초기 설정과 공용 자원 스크럼 팀 두 번째 개발팀을 통해 개발하기 더 많은 내부 개발팀을 통해 개발하기 여러 연관된 프로젝트에 대한 사례 연구: 연금 보험회사 변화의 서막 두 번째 애플리케이션 더 많은 애플리케이션들 큰 프로젝트에서의 사례 보고 : 아웃소싱 회사
8 스크럼과 조직 조직에 미치는 영향 장애물 예 1 변화를 이끌어내는 스크럼 마스터 장애물 예 2 장애물 예 3 계속 지켜보기 장애물 예 4 장애물 예 5 조직의 침해 장애물 예 6 스크럼과 사명