chapter 01 애자일 개발 방법론 = 19 1. 애자일 개발 방법론 = 21 1.1 빅 엄브렐라 방법론의 팀 구조 = 24 2. 전통적인 스크럼 개발 방법론 = 25 2.1 스크럼 방법론에서 역할 = 27 2.2 스크럼에서 에픽과 사용자 스토리 = 29 3. 엔터프라이즈 개발을 위한 스크럼 기반의 개발 방법론 = 30 3.1 제품 백로그 준비 = 31 3.2 릴리즈 계획 = 33 3.3 스프린트 계획 = 34 개발자가 하루에 코딩하는 시간은? = 38 3.4 스프린트 관리 = 40 3.5 스프린트 종료 = 45 3.6 제품 백로그 업데이트 = 46 3.7 회고(Retrospective) = 47 chapter 02 태스크 관리 = 49 1. 태스크의 정의와 우선순위 결정 = 49 1.1 우선순위 결정 = 49 1.2 선행 개발 = 50 2. 엑셀을 이용한 태스크 관리 방법 = 51 2.1 프로세스 = 53 3. 태스크의 상하 구조 = 54 3.1 요구 사항 저장 = 54 3.2 요구 사항 변경 협의 = 55 3.3 요구 사항의 상세화 = 55 요구 사항 정의 방법에 대한 변화 = 55 3.4 태스크의 종류 = 57 4. 태스크 관리 도구 = 59 4.1 왜 도구를 사용하는가? = 59 4.2 도구 선택 시 고려 사항 = 59 4.3 이슈 트랙킹 도구 = 63 Cost, Quality, Quick = 67 Technical Debt = 67 chapter 03 JIRA를 이용한 스크럼과 개발 조직, 코드 리뷰 기법 = 71 1. JIRA를 이용한 스크럼 프로젝트 관리 = 71 1.1 가상프로젝트 = 72 1.2 JIRA 애자일 보드 = 76 1.3 이슈 종류 = 79 1.4 에픽 등록 = 81 1.5 이슈 등록과 맵핑 = 82 1.6 릴리즈 버전 정의와 맵핑 = 86 1.7 스프린트 계획 = 88 1.8 스프린트 시작 = 90 1.9 스프린트 진행 = 91 1.10 스프린트 종료 = 99 1.11 새로운 스프린트 시작 = 100 1.12 JIRA의 확장 = 101 1.13 JIRA를 이용한 프로젝트 관리 정리 = 104 2. 소프트웨어 팀의 구조 = 105 2.1 프로젝트 유닛 = 106 2.2 관리 조직 = 107 2.3 공통팀 = 108 2.4 운영팀 = 109 프로젝트 매니저 = 111 3. 코드 리뷰 = 113 3.1 코드 리뷰 스펙트럼 = 113 3.2 코드 인스펙션 = 114 3.3 팀 리뷰 = 117 3.4 워크스루 = 118 3.5 피어 리뷰 또는 오버 더 숄더 리뷰 = 119 3.6 패스어라운드 = 119 3.7 언제 어떤 코드 리뷰 기법을 사용해야 하는가? = 120 3.8 효과적인 코드 리뷰를 막는 요인들 = 124 3.9 코드 리뷰용 도구 = 124 고객이 비전 개발하기(요구 사항 유도하기) = 125 chapter 04 소프트웨어 테스트 = 129 1. V 모델 = 129 2. 정적 테스트 = 131 3. 테스팅 레벨 = 133 3.1 단위 테스트(개발자가 개발 단계에 수행) = 133 3.2 통합 테스트(개발팀에서 개발 단계에 수행) = 135 3.3 시스템 테스트(테스트팀에서 테스트 단계에 수행) = 136 3.4 인수 테스트(테스트팀 또는 고객이 출시 전 단계에 수행) = 142 3.5 테스트 레벨별 주체와 시점 = 143 4. 테스트 사이클 = 144 고객이 솔루션 구매에서 단계별로 무슨 생각을 할까? = 147 5. 테스트 범위 조정 = 148 6. 테스트 프로세스 = 149 6.1 테스트 계획 단계 = 150 6.2 테스트 분석 및 디자인 단계 = 155 6.3 테스트 케이스 구현 및 수행 단계 = 159 6.4 테스트 결과 평가 및 리포팅 단계 = 161 7. 테스트 조직 구조 = 162 7.1 테스트 팀 = 163 7.2 외부 지원팀 = 166 8. 테스트 케이스의 우선순위 결정 방법 = 167 9. 테스트 커버리지 = 170 10. 마이크로 벤치마크 테스트 = 172 11. 테스트 환경 = 173 12. 결함 관리 방법 = 175 12.1 결함 처리 프로세스 = 175 12.2 결함 보고 = 177 12.3 결함의 상태 정의 = 180 12.4 결함 관리도구 = 181 13. 테스트팀 운용 사례 = 182 새로운 비즈니스 모델을 만드는 데 필요한 3가지 = 186 chapter 05 테스트 도구 = 187 1. 단위 테스트 도구 = 187 1.1 JUnit = 188 1.2 DBUnit = 193 1.3 Easy Mock = 197 1.4 Cactus = 202 2. 코드 커버리지 분석 도구 = 208 2.1 코드 커버리지 도구의 원리 = 209 3. REST API 테스팅 도구 = 214 3.1 Advanced Rest Client = 215 3.2 SoapPUI = 215 4. 웹 테스트 = 220 4.1 Selenium IDE = 221 4.2 Selenium RC(Remote Control) vs. WebDriver = 224 4.3 Selenium Grid = 226 소프트웨어를 잘하고 싶으시면 개발자를 그만 뽑으세요 = 226 5. 부하 테스트 = 228 5.1 HP Load Runner = 228 5.2 nGrinder = 229 6. 테스트 케이스 관리 도구 = 230 6.1 TestLink = 231 6.2 TestLink 사용 예제 = 233 6.3 TestLink의 향상된 기능 = 243 7. 모니터링 도구 = 244 오픈소스 시대의 공부하는 방법의 변화 = 248 chapter 06 개발 환경: 소스 코드 관리와 빌드 = 253 1. 소스 코드관리 = 255 1.1 브랜치 = 255 1.2 체크 아웃, 커밋, 병합 = 256 1.3 업데이트 = 257 1.4 태깅 = 257 1.5 릴리즈 브랜치 = 258 1.6 QA 브랜치 = 259 1.7 소스 코드 브랜치 관리 전략 = 259 1.8 분산 형상 관리 시스템 Git = 262 개발자의 잉여력 = 277 2. 빌드 스크립트 = 278 2.1 메이븐을 이용한 Jersey+MyBatis+Spring 기반의 개발 환경 구축 = 280 2.2 자바 버전 지정 = 298 2.3 배포 환경별로 컴파일 = 298 2.4 RPM으로 패키징하고 배포 = 305 3. 저장소 = 307 3.1 넥서스 설치 = 311 3.2 메이븐에서 로컬 넥서스를 Proxy(Cache) 저장소로 설정하기 = 315 3.3 넥서스의 향상된 기능 = 316 요즘 개발자, IT 인력에 대한 단상 = 320 chapter 07 개발 환경: 빌드/배포 자동화와 개발 환경 가상화 = 323 1. 자동 빌드 = 323 1.1 CI의 특징 = 323 1.2 CI 프로세스 = 325 1.3 오픈소스 CI 도구 젠킨스 = 328 조직의 성숙도별 개발모델 = 335 2. 자동 배포 = 339 2.1 사례 연구 = 341 2.2 배포에서 고민해야 할것 들 = 345 3. 개발 환경 가상화 = 348 3.1 Vagrant 시작하기 = 349 3.2 도커 = 354 회색 지대 = 364 찾아보기 = 367