목차
머리말
Agile 방법론을 적용한 지 20년이 넘은 시점, SW 개발은 여전히 실패하고 있다
필자는 왜 이 책을 써야 했는가?
전형적인 문제 진단 방식으로 정리하였다.
도와준 사람들
제1장. ‘SW 개발’ 무엇이 문제인가?
어떤 경우에 SW 개발 프로젝트를 실패로 규정하는가?
Agile 방법론을 적용하여 성공하고 있는가?
Agile 기반의 SW 개발 프로젝트에서 어떤 문제가 있었는가?
첫 번째 프로젝트) Waterfall과 Agile의 하이브리드 방식? 그런 근사한 것은 없다!
두 번째 프로젝트) 업무를 Agile하게 수행하지 않으면 실패한다!
제2장. SW 개발 프로젝트는 왜 계속 실패하는가?
원인 1) 계획 수립 후 실행에 옮겨라?
원인 2) SW 개발은 상품을 구매하는 것이다?
원인 3) SW 개발 현황은 WBS와 주간 보고를 통해 파악할 수 있다?
원인 4) ‘사용자 스토리’ 구현 외에는 중요하지 않다?
원인 5) 고객의 요건은 모두 수용하고 강하게 드라이브하는 것이 리더십?
원인 6) 각 조직의 목표(KPI) 달성을 위해 최선을 다한다?
원인 7) Agile은 도구 사용이 핵심이다?
원인 8) Agile은 “기술 솔루션”이다?
제3장. ‘SW 개발’ 해법은 무엇인가?
해법 1) ‘마지막 순간에 의사결정(last responsible moment)’ 하라
해법 2) SW 개발 프로젝트는 협업을 통해 ‘제품을 개발’하는 것이다
해법 3) ‘타스크 보드’는 개발 현황을 파악할 수 있는 유일한 방법이다
해법 4) SW 코드의 품질을 틈틈이 개선하자
해법 5) 고객사와 협의하여 WIP(work in progress) 제한을 두라
해법 6) 각 조직의 목표(KPI)를 정렬(align)하라
해법 7) 일하는 방식을 Agile하게 바꾸지 않는 한 변하지 않는다
해법 8) SW 개발 시 Agile 전문가의 도움을 받아라
제4장. Agile 적용 가이드
1. 프로젝트 준비 단계
제품 오너 선정
사용자 스토리 초안(draft) 작성
사업 계획서 작성
사업 계획서 승인 및 예산 확보
SW 솔루션 업체 등 선정/계약
프로젝트 시작 준비
2. 프로젝트 시작 단계
프로젝트 킥오프(kick-off)
프로젝트 오리엔테이션
사용자 스토리 워크숍
스프린트 기획 회의
3. 프로젝트 진행 단계
일간 스크럼 미팅
타스크 보드
간반 보드
테스트 주도 개발
짝 프로그래밍
4. 프로젝트 종료 단계
스프린트 리뷰
통합 테스트
사용자 테스트
시스템 오픈 준비
제5장. 맺음말
Agile에 대한 잘못된 속설
속설 1) Agile 방법론은 작은 프로젝트에 적합하다
속설 2) Agile 방법론은 단순하므로 적용하기 쉽다
속설 3) Agile은 전혀 새로운 SW를 창의적으로 개발하기 위한 방식이다
속설 4) Agile 방식은 B2C용 SW 개발에는 적합하지 않다
속설 5) Agile 방법론에서 각 프로젝트에 적합한 도구만을 선별하여 적용하면 된다
속설 6) Agile 프로젝트는 미리 준비가 필요 없으며, 그냥 시작하면 된다
Agile 방식의 가치와 원칙에 대한 이해가 우선
Agile의 시작부터 현재까지
왜 반드시 Agile인가?
비즈니스와 IT의 bottom-up 트렌드에 부합
고객 만족을 추구
별첨: Agile 방법론 개요
1. Agile의 등장 배경
2. Agile vs Waterfall
3. Agile의 가치와 원칙
Agile 방식의 4가지 가치
Agile 방식의 12가지 원칙
4. 스크럼(Scrum) 방법론
사용자 스토리
스프린트 주기
스프린트 계획 수립
일간 스크럼 미팅
타스크 보드
스프린트 리뷰 미팅
5. XP(eXtreme Programming) 방법론
사용자 스토리
스프린트 주기
스프린트 계획 수립
일간 스크럼 미팅 및 타스크 보드
프로젝트 팀원 위치
테스트 주도 개발(test-driven development)
짝 프로그래밍(pair programming)
지속적 배포(continuous integration)
스프린트 리뷰 미팅
6. 린(Lean) SW 개발
SW 개발 과정상의 낭비 요소
워크플로상의 3가지 낭비 유형
7. 간반(Kanban) 방법론
간반의 4대 원칙
간반의 6대 핵심 방법
참고자료