애자일 개발의 기술(2판)(애자일)
소프트웨어를 개발하는 많은 기업은 '애자일'이라 부르는 무엇인가를 도입한다. 그러나 애자일이 무엇이고 어떻게 사용하는지에 관한 오해가 널리 퍼져있다. 여러분의 소프트웨어 개발팀의 기민함을 개선하고자 한다면 이 책의 명확하고, 구체적이며, 상세한 가이드가 도움이 될 것이다. 저자는 이 책의 1판 이후 10년 동안 쌓은 경험을 바탕으로 애자일 도입, 계획, 개발, 전달, 관리에 관한 종합적인 조언을 전달한다. 여러분의 팀이나 조직에 애자일 개발을 성공적으로 도입하는 방법을 학습하고, 애자일이 여러분에게 적합하지 않을 수도 있음을 확인해보자.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
◆ 가치에 집중하라: 팀으로 작업하고, 우선 순위를 이해하고, 가시성을 제공하고, 지속적으로 개선하라.
◆ 소프트웨어를 신뢰성 있게 전달하라: 오너십을 공유하고, 개발 비용을 줄이고, 설계를 진화시키고, 지속적으로 배포하라.
◆ 가치를 최적화하라: 제품 계획, 예산, 실험을 소유하라. 시장을 이끄는 소프트웨어를 만들라.
애자일 팀에서 업무를 하거나 미래에 그렇게 하기를 희망하는 모든 사람을 위한 책이다. 프로그래머는 물론이고 관리자, 경영진, 도메인 전문가, 테스터, 프로덕트 매니저, 프로젝트 관리자, 아키텍트, 운영, 보안, 디자이너, 비즈니스 분석가들을 모두 읽기에 적합하다.
[추천사]
우리가 애자일 소프트웨어 개발 선언문을 작성했을 때, 업계의 변화를 시도했던 소수의 사람만이 우리를 지지했다. 20여 년이 흐른 지금 '애자일(agile)'은 주류로 자리잡았다. 그러나 애자일 소프트웨어 개발을 하고 있다고 말하는 사람들이 하는 행동은 우리가 20여 년 전에 공유한 비전과 비슷한 점이 거의 없다.
애자일 방식으로 작업하기 위해서는 소프트웨어 개발 작업 관리 및 기술적인 실행 모두에 상호 연결된 프랙티스의 그물(web)이 필요하다. 이런 프랙티스 중 많은 부분, 특히나 기술적인 프랙티스에 관해서는 이해가 부족하거나 이해하고 있더라도 프랙티스를 널리 가르치지 않는다. 그 결과 너무 많은 사람이 소프트웨어 제품을 구축하는 효과적인 방법이 무엇인지에 대한 왜곡된 관점을 갖고 있다.
제임스 쇼어는 애자일 운동(Agile movement)의 핵심 기둥인 익스트림 프로그래밍(Extreme Programming)의 길을 걸은 개척자들 중 한 명이다. 이 책의 1판은 내가 가장 좋아하는 책으로, 팀에서 애자일 프로세스를 적절하게 실행하기 위해 알아야 할 것을 보여주는 핸드북이었다. 제임스는 이후 다이애나 라센(Diana Larsen)과 함께 애자일 플루언시 모델(Agile Fluency Model)을 만들었다. 이 모델은 사람들이 애자일 접근 방식을 이용해 기술을 개발할 수 있는 다양한 방법에 대한 경험을 담았다. 이 모델에서 기본 스크럼 접근법이라 불리는 프로젝트 관리 기술의 단순한 적용은 고객의 요구사항에 초점을 맞춤으로써 어느 정도의 가치를 제공하지만, 많은 팀이 달성하고자 하는 높은 생산성과 안정성을 얻는 데 필요한 기술적 스킬은 부족하다.
이런 관점은 가치에 집중하는 방법과 해당 가치를 안정적으로 전달하는 방법에 많은 비중을 둔 이 책의 구조를 올바르게 이끌고 있다. 가치에 집중한다는 것은 강력한 팀워크의 중요성을 이해하고, 적응적 계획(adaptive planning) 기술을 개발하고, 그 결과 개발된 소프트웨어의 고객 및 사용자와 긴밀하게 협업하는 것을 의미한다. 딜리버리 신뢰성 테스트, 리팩터링, 디자인 및 공동 개발을 위한 필수 기술 사례에 중점을 둔다. 내부 품질이 높은 소프트웨어를 구축하면 비용이 절감되고 코드 전달 속도가 빨라진다는 직관적이지 않을 수도 있는 개념을 인식한다. 데브옵스(DevOps) 문화 및 지속적인 제공과 결합해 높은 빈도의 기능을 신속하게 프로덕션에 적용할 수 있게 지원한다. 팀은 이를 통해 소프트웨어가 실제로 사용되는 방법을 관찰함으로써 무엇이 더 가치 있는 것인지 더 많이 배울 수 있다.
나는 20년 전 운이 좋게 소트웍스(Thoughtworks)에 둥지를 틀었다. 우리 팀은 이런 유형의 기술을 사용해 고객이 새로운 소프트웨어 제품을 구축하고 오래된 레거시(legacy)를 대체하도록 지원한다. 제임스와 마찬가지로 우리는 익스트림 프로그래밍이 확고한 기반을 제공하는 것을 발견했고, 지난 20년 동안 이 기술을 적용해 큰 성공을 거뒀다. 그렇기에 나는 제임스가 10년 동안의 코칭 경험을 2판에 반영한 것을 보게 돼 너무나도 기쁘다. 가치 있는 일에는 시간이 걸리고 그 과정에서 좌절도 있을 것이다. 하지만 이 가이드북에는 껍데기만 남은 의식에서 벗어나 제임스와 내가 수년 전 이 기술을 처음 사용했을 때 느꼈던 활력이 있다.이 활력은 여러분의 여정을 도울 수 있을 것이다.
- 마틴 파울러Martin Fowler),
소트웍스(Thoughtworks) 수석 과학자
목차
목차
1장. 애자일이란 무엇인가?
__애자일의 탄생
__위기 속에서의 탄생
__애자일 개발 선언
__애자일의 정수
__애자일이 승리하는 이유
__애자일이 작동하는 이유
__애자일이 실패하는 이유
2장. 애자일하게 되는 방법
__애자일 연습하기
__마스터하기 위한 여정
__시작하기
3장. 기민함을 선택하라
__애자일 플루언시 모델
__영역을 선택하라
4장. 기민함에 투자하라
__학습 시간을 확보하라
__애자일 팀을 선택하거나 만들어라
__애자일 코치를 선택하라
__팀에 권한과 책임을 위임하라
__팀 매니지먼트 스타일을 바꿔라
__팀 룸을 만들어라
__팀별로 학습 친화적인 목적을 만들어라
__워터폴 거버넌스의 가정을 바꿔라
__해로운 인사 정책을 바꿔라
__보안 문제를 해결하라
5장. 변화에 투자하라
__변화 이해하기
__대규모 변화
__변화 만들기
__경영진을 끌어들여라
__팀을 끌어들여라
__이해관계자를 끌어들여라
__더 읽을거리
6장. 기민함 확장하기
__플루언시 확장하기
__제품 및 포트폴리오 확장하기
2부 가치에 집중하기
__집중하기 영역으로의 길
__집중하기 플루언시 달성하기
7장. 팀워크
__전체 팀
__팀 룸
__안전감
__목적
__컨텍스트
__정렬
__활력이 넘치는 업무
8장. 플래닝
__스토리
__적응적 계획하기
__시각적 계획하기
__플래닝 게임
__실질적인 고객 참여
__점진적 요구 사항
9장. 오너십
__태스크 플래닝
__수용량
__슬랙
__스탠드업 회의
__정보가 풍부한 업무 공간
__고객 예시
__'완료 완료'
10장. 책임
__이해관계자 신뢰
__이해관계자 데모
__예측하기
__로드맵
__매니지먼트
11장. 개선
__회고
__팀 다이내믹
__장애물 제거
3부. 신뢰성 있게 전달하기
__전달하기 영역에 온 것을 환영한다
__전달하기 플루언시 달성하기
12장. 협업
__집단 코드 오너십
__페어 프로그래밍
__몹 프로그래밍
__유비쿼터스 언어
13장. 개발
__제로 프릭션
__지속적인 통합
__테스트 주도 개발
__빠르고 안정적인 테스트
__리팩터링
__스파이크 솔루션
14장. 디자인
__점진적 디자인
__단순한 디자인
__반영적 디자인
15장. 데브옵스
__운영을 위한 빌드
__피처 플래그
__지속적인 배포
__진화적 시스템 아키텍처
16장. 품질
__버그 없음
__사각지대 발견
__사건 분석
4부. 결과물 최적화하기
__최적화하기 영역에 온 것을 환영한다
__최적화하기 플루언시 달성하기
17장. 자율성
__비즈니스 전문성
__비즈니스 의사 결정
__책임과 감독
__자금 지원
__실험과 더 읽을거리
18장. 발견
__검증된 학습
__적응성
__실험과 더 읽을거리
19장. 미래를 위해
저자
저자
1999년부터 수많은 팀의 애자일 개발 실행을 이끌었다. 그는 애자일 아이디어에 관한 깊은 이해와 수십년 동안의 실제 개발 경험을 조합했다. 그는 이 경험을 살려 사람들이 애자일의 모든 측면을 적용해 뛰어난 결과를 얻도록 돕고 있다. 제임스는 애자일 프랙티스에 기여한 공로를 인정받아 애자일 얼라이언스(Agile Alliance)의 고든 파스크 어워드(Gordon Pask Award)를 받았다. 수많은 코딩 데모를 진행했으며, 애자일 플루언시 모델을 공동으로 제작했다.
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

