
저자(글) 윤선웅
인물 상세 정보저자는 IT 컨설팅과 SW 구축 분야에서 20년 이상 근무 중이다. 최근에는 빅데이터 플랫폼을 기획하고 구축하는 업무를 수행하고 있다. 저서로는 “차세대 빅데이터 플랫폼 Data Lake”, “Data Catalog 만들기”, “Data Lake 플랫폼 아키텍처”가 있다.
상담 가능 시간
평일 오전 9시 ~ 오후 6시 (점심 시간 12 ~ 1시 제외)
주말, 공휴일은 이메일로 문의부탁드립니다
Agile 방법론을 적용한 지 20년이 넘은 시점, SW 개발은 여전히 실패하고 있다.
Agile 방법론에 대한 국내의 전반적인 낮은 지식 수준을 개선하고자 하였다.
이를 위해 필자가 최근에 수행한 Agile 기반의 SW 개발 프로젝트에서의 경험을 바탕으로, Agile 방법론에 대해 연구하여 확보한 통찰력을 정리하고자 하였다.
머리말 - 4
Agile 방법론을 적용한 지 20년이 넘은 시점, SW 개발은 여전히 실패하고 있다 - 4
필자는 왜 이 책을 써야 했는가? - 9
전형적인 문제 진단 방식으로 정리하였다 - 12
도와준 사람들 - 16
제1장 ‘SW 개발’ 무엇이 문제인가?
어떤 경우에 SW 개발 프로젝트를 실패로 규정하는가? - 28
Agile 방법론을 적용하여 성공하고 있는가? - 34
Agile 기반의 SW 개발 프로젝트에서 어떤 문제가 있었는가? - 38
첫 번째 프로젝트) Waterfall과 Agile의 하이브리드 방식? 그런 근사한 것은 없다! - 38
두 번째 프로젝트) 업무를 Agile하게 수행하지 않으면 실패한다! - 52
제2장 SW 개발 프로젝트는 왜 계속 실패하는가?
원인 1) 계획 수립 후 실행에 옮겨라? - 93
원인 2) SW 개발은 상품을 구매하는 것이다? - 99
원인 3) SW 개발 현황은 WBS와 주간 보고를 통해 파악할 수 있다? - 107
원인 4) ‘사용자 스토리’ 구현 외에는 중요하지 않다? - 112
원인 5) 고객의 요건은 모두 수용하고 강하게 드라이브하는 것이 리더십? - 117
원인 6) 각 조직의 목표(KPI) 달성을 위해 최선을 다한다? - 120
원인 7) Agile은 도구 사용이 핵심이다? - 127
원인 8) Agile은 “기술 솔루션”이다? - 135
제3장 ‘SW 개발’ 해법은 무엇인가?
해법 1) ‘마지막 순간에 의사결정(last responsible moment)’ 하라 - 143
해법 2) SW 개발 프로젝트는 협업을 통해 ‘제품을 개발’하는 것이다 - 152
해법 3) ‘타스크 보드’는 개발 현황을 파악할 수 있는 유일한 방법이다 - 158
해법 4) SW 코드의 품질을 틈틈이 개선하자 - 165
해법 5) 고객사와 협의하여 WIP(work in progress) 제한을 두라 - 177
해법 6) 각 조직의 목표(KPI)를 정렬(align)하라 - 186
해법 7) 일하는 방식을 Agile하게 바꾸지 않는 한 변하지 않는다 - 196
해법 8) SW 개발 시 Agile 전문가의 도움을 받아라 - 216
제4장 Agile 적용 가이드
1. 프로젝트 준비 단계 - 227
제품 오너 선정 - 227
사용자 스토리 초안(draft) 작성 - 229
사업 계획서 작성 - 232
사업 계획서 승인 및 예산 확보 - 234
SW 솔루션 업체 등 선정/계약 - 235
프로젝트 시작 준비 - 236
2. 프로젝트 시작 단계 - 240
프로젝트 킥오프(kick-off) - 240
프로젝트 오리엔테이션 - 241
사용자 스토리 워크숍 - 242
스프린트 기획 회의 - 244
3. 프로젝트 진행 단계 - 246
일간 스크럼 미팅 - 246
타스크 보드 - 255
간반 보드 - 260
테스트 주도 개발 - 271
짝 프로그래밍 - 274
4. 프로젝트 종료 단계 - 282
스프린트 리뷰 - 282
통합 테스트 - 285
사용자 테스트 - 291
시스템 오픈 준비 - 293
제5장 맺음말
Agile에 대한 잘못된 속설 - 303
속설 1) Agile 방법론은 작은 프로젝트에 적합하다 - 304
속설 2) Agile 방법론은 단순하므로 적용하기 쉽다 - 308
속설 3) Agile은 전혀 새로운 SW를 창의적으로 개발하기 위한 방식이다 - 310
속설 4) Agile 방식은 B2C용 SW 개발에는 적합하지 않다 - 313
속설 5) Agile 방법론에서 각 프로젝트에 적합한 도구만을 선별하여 적용하면 된다 - 315
속설 6) Agile 프로젝트는 미리 준비가 필요 없으며, 그냥 시작하면 된다 - 317
Agile 방식의 가치와 원칙에 대한 이해가 우선 - 320
Agile의 시작부터 현재까지 - 325
왜 반드시 Agile인가? - 328
비즈니스와 IT의 bottom-up 트렌드에 부합 - 329
고객 만족을 추구 - 334
•별첨: Agile 방법론 개요
1. Agile의 등장 배경 - 339
2. Agile vs Waterfall - 342
3. Agile의 가치와 원칙 - 348
Agile 방식의 4가지 가치 - 348
Agile 방식의 12가지 원칙 - 351
4. 스크럼(Scrum) 방법론 - 360
사용자 스토리 - 360
스프린트 주기 - 362
스프린트 계획 수립 - 362
일간 스크럼 미팅 - 364
타스크 보드 - 366
스프린트 리뷰 미팅 - 368
5. XP(eXtreme Programming) 방법론 - 371
사용자 스토리 - 371
스프린트 주기 - 372
스프린트 계획 수립 - 372
일간 스크럼 미팅 및 타스크 보드 - 373
프로젝트 팀원 위치 - 373
테스트 주도 개발(test-driven development) - 375
짝 프로그래밍(pair programming) - 377
지속적 배포(continuous integration) - 379
스프린트 리뷰 미팅 - 381
6. 린(Lean) SW 개발 - 383
SW 개발 과정상의 낭비 요소 - 385
워크플로상의 3가지 낭비 유형 - 391
7. 간반(Kanban) 방법론 - 393
간반의 4대 원칙 - 394
간반의 6대 핵심 방법 - 396
참고자료 - 400
•그림 목차
그림 1. SW 개발 프로젝트 일정 비교 예시(Waterfall vs Agile) - 7
그림 2. Agile 프로젝트 문제점 정리 - 91
그림 3. Waterfall 프로젝트에서의 변경 관리 절차 - 113
그림 4. 안티패턴 예시 1: 밀접하게 vs 느슨하게 연결된 프로시저 - 168
그림 5. 안티패턴 예시 2: 복잡한 vs 단순한 구조의 프로시저 - 169
그림 6. 테스트 주도 개발 예시: 로그인 - 172
그림 7. 간반 보드 예시: SW 개발 업무 프로세스 - 179
그림 8. 일별 WIP 흐름도 예시 - 180
그림 9. 타스크 보드 작성 예시 - 204
그림 10. 사용자 스토리 작성 예시 - 230
그림 11. Waterfall vs Agile 방식 비교 - 342
그림 12. 가치 흐름도 작성 예시: SW 개발 업무 프로세스 - 385
그림 13. 제조업에서 “간반” 활용 예시 - 394