로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

신뢰할 수 있는 소프트웨어 출시

 [효과적이고 지속적인 소프트웨어 개발의 모든 것]
   
지은이 제즈 험블, 데이비드 팔리   |   출판사 에이콘  |   발행일 2013년 11월 28일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 40,000원36,000원 10%
마일리지 5% 2,000원
발행일 2013-11-28
ISBN 8960774952 | 9788960774957
기타정보 번역서 | 584쪽 | 일반
예상출고일 2~3일 이내 (근무일기준)
배송비 무료배송
   
컴퓨터공학
종합지수 0p
   
이 책의 원서
  Go Live: A Handbook for Building, Deploying, Testing and Releasing Software
Addison-Wesley Professional | David Farley
 

이 책은 소프트웨어의 고객 인도과정에서 발생하는 여러 어려움을 효과적으로 다루기 위한 기술과 사례를 설명한다. 빌드, 기능/성능 테스트, 배포, 출시의 전체 단계를 자동화하는 기술과 소프트웨어 개발에 참여하는 개발자, 기획자, QA, 운영자가 효과적으로 협업할 수 있는 방법을 구체적으로 다룬다. 또한 최적화된 개발 및 배포 프로세스도 소개하므로 독자는 이를 활용해 조직 상황에 적합한 프로세스를 디자인하고 적용한 뒤 발전시켜 나갈 수 있다. 개발자, QA, 운영자, 관리자 모두 반드시 읽고, 익히고, 실천해야 할 필독서다.

★ 이 책에서 다루는 내용 ★
■ 소프트웨어 빌드, 통합, 테스트, 배포의 전면 자동화
■ 팀과 조직 단계에서의 배포 파이프라인 구현
■ 개발자, 테스터, 운영자 간의 협업 개선
■ 효과적인 설정 관리 전략 구현
■ 인수 테스트를 분석부터 구현까지 자동화
■ 용량과 기타 비기능 요구사항 테스트
■ 지속적 배포와 무정지 출시 구현
■ 인프라, 데이터, 컴포넌트, 의존성 관리
■ 위험 관리, 순응, 감사 다루기

★ 이 책의 대상 독자 ★
이 책의 주요 목적 중 하나는 소프트웨어 배포의 책임을 갖는 관련자들의 협업을 개선하는 데 있다. 특히 개발자, 테스터, 시스템과 데이터베이스 관리자, 관리자를 염두에 두었다.

전통적인 설정 관리 문제, 소스 코드 관리, 출시 계획, 검수, 규정 준수에서 빌드 자동화, 테스트, 배포 프로세스의 통합까지를 주제로 다룬다. 자동화 인수 테스트, 의존성 관리, 데이터베이스 마이그레이션, 테스트와 실환경 생성과 관리 기술 또한 다룬다.

소프트웨어 개발에 참여하는 많은 사람이 이런 활동을 코드 작성보다 덜 중요하다고 생각한다. 하지만 경험에 따르면 이 작업에 많은 시간과 노력을 들이는 것이 성공적인 소프트웨어 인도의 핵심이다. 이를 둘러싼 위험을 제대로 관리하지 않으면 수많은 비용이 들고, 첫 번째 소프트웨어 구축 때보다 비용이 더 많이 드는 경우도 많다. 이 책은 이런 위험을 이해하는 데 필요한 정보를 제공하며, 나아가 이를 완화하는 전략을 설명한다.

야심 찬 목표이긴 하나, 한 권의 책에서 모든 주제를 상세히 다룰 수는 없다. 실제로 다음과 같은 독자들이 섭섭해할 수도 있다는 위험을 감수했다. 개발자는 아키텍처와 속성 주도 개발 방법, 상세한 리팩토링 같은 주제를 다루지 않아 서운할 수 있고, 테스터는 탐색적 테스트와 테스트 관리 전략에 충분한 시간을 할애하지 않아서, 운영자는 용량 계획, 데이터베이스 마이그레이션, 실환경 모니터링을 상세히 다루지 않아 그런 감정이 들 수 있다.

이런 내용을 각각 상세하게 다루는 책은 시중에 나와 있다. 하지만 설정 관리, 자동화 테스트, 지속적 통합과 인도, 데이터 관리, 환경 관리, 출시 관리 같은 모든 활동을 함께 다루는 책이 없었다. 린(lean) 소프트웨어 개발 방법론에서 가르치는 중요한 주제 중 하나는 전체를 최적화하는 것이다. 이렇게 하려면 배포 프로세스와 그에 포함되는 모든 것을 하나로 묶어내는 전체론적인 접근법이 필요하다. 출시에 포함될 모든 변경 내용의 진행을 관리할 수 있어야만 소프트웨어 배포의 품질과 속도를 최적화하고 개선할 수 있다.

★ 이 책의 구성 ★
모든 사람이 이 책을 시작부터 끝까지 읽기를 원하진 않을 것이다. 도입부를 읽고 난 뒤 여러 가지 방법으로 공략할 수 있다. 반복적으로 읽는 것도 방법이겠지만, 처음부터 끝까지 읽기로 결심한 경우라도 지루함을 느끼지 않을 수준이길 바란다.
이 책은 세 부분으로 구성된다. 1부는 1장에서 4장까지로, 출시에 대한 일반적, 반복적, 위험 감소 이론을 다루며 이를 지원하는 실천법을 소개한다. 2부는 5장에서 10장까지로, 배포 파이프라인을 설명한다. 3부가 시작되는 11장부터는 지속적 인도를 지원하는 생태계를 다룬다.
누구든 1장은 읽기를 바란다. 경험 있는 개발자라도 소프트웨어 출시 프로세스가 생소한 경우라면 전문 소프트웨어 개발이 의미하는 바에 대한 다양한 도전과제를 발견할 수 있다. 책의 나머지 부분은 여유가 있거나 혼란스러운 상황일 때 자세히 살펴보면 된다.

1부: 기초
1부는 배포 파이프라인을 이해하는 데 필요한 선행지식을 설명한다. 각 장은 마지막 내용에 기반을 두고 있다.

1장 ‘소프트웨어 인도의 문제점’: 여러 개발 팀에서 공통적으로 관찰되는 안티패턴을 설명하는 것으로 시작해, 목표를 달성하는 방법을 설명하는 부분으로 나아간다. 그리고 이 책의 나머지 부분에서 다루는 소프트웨어 인도의 이론을 정립하면서 마무리한다.

2장 ‘설정 관리’: 소스 코드부터 환경과 애플리케이션 설정 빌드 스크립트에 이르기까지 빌드, 배포, 테스트, 애플리케이션 출시를 관리하는 모든 설정법을 다룬다.

3장 ‘지속적 통합’: 애플리케이션의 모든 변경에 대해 자동화 테스트를 구축하고 수행해 소프트웨어가 언제나 동작하는 상태로 유지되게 하는 실천법을 다룬다.

4장 ‘테스트 전략의 적용’: 모든 프로젝트의 중요 부분인 다양한 종류의 수동 테스트와 자동화 테스트 방법을 소개하고, 각자의 프로젝트에 적합한 전략을 선택하는 방법을 설명한다.

2부: 배포 파이프라인
2부에서는 파이프라인의 각 단계를 구현하는 방법을 포함해 배포 파이프라인을 자세히 다룬다.

5장 ‘배포 파이프라인의 구조’: 이 책의 핵심이라 할 수 있는, 출시에 체크인되는 모든 변경을 관리하는 자동화 프로세스 패턴을 다룬다. 그리고 팀과 조직 수준에서 파이프라인을 적용하는 방법도 설명한다.

6장 ‘빌드와 배포 스크립트 작성’: 자동 빌드와 배포 프로세스에 사용하는 스크립트 기술을 다루며, 이에 최적화된 실천법을 설명한다.

7장 ‘커밋 단계’: 모든 변경사항에 의해 유발되어 애플리케이션에 적용되는 일련의 자동화 프로세스인 파이프라인의 첫 번째 단계를 다룬다.

8장 ‘자동화 인수 테스트’: 자동화 인수 테스트의 적용에 대한 분석부터 설명한다. 지속적 인도에서 인수 테스트가 중요한 이유를 설명하고, 애플리케이션의 중요 기능을 보호하는 비용 효과적인 인수 테스트 스위트를 만드는 법을 다룬다.

9장 ‘비기능 요구사항 테스트’: 용량 테스트 중심으로 비기능 요구사항을 다룬다. 용량 테스트를 생성하는 방법과 용량 테스트 환경을 구축하는 방법을 설명한다.

10장 ‘애플리케이션 배포와 출시’: 자동화 테스트 이후에 어떤 일이 발생하는지를 다룬다. 출시 후보를 버튼을 눌러 수동 테스트 환경, UAT, 스테이징, 최종 출시 단계로 진출시키는 데 필요한 핵심 주제인 지속적 배포, 롤백, 멈춤 없는 출시를 다룬다.

3부: 제품 인도 생태계
3부에서는 배포 파이프라인을 지원하는 여러 분야를 교차하는 실천법과 기법을 설명한다.

11장 ‘인프라와 환경 관리’: 환경의 생성, 관리, 모니터링을 다루며 가상화와 클라우드 컴퓨팅을 포함한다.

12장 ‘데이터 관리’: 테스트와 실제 데이터를 애플리케이션의 생명주기에 따라 생성하고 변경하는 방법을 보여준다.

13장 ‘컴포넌트와 의존성 관리’: 브랜치를 만들지 않고도 애플리케이션을 항상 출시 가능한 상태로 유지하는 방법을 설명하면서 시작한다. 그 다음, 컴포넌트 집합으로 애플리케이션을 구성하는 법과, 이들의 구축과 테스트를 관리하는 방법을 설명한다.

14장 ‘고급 버전 관리’: 유명한 도구들을 소개하고, 버전 관리를 사용하는 다양한 패턴을 상세하게 설명한다.

15장 ‘지속적 제품 인도 관리’: 위험 관리와 준수를 설정하고 설정과 출시 관리의 성숙도 모델을 제공한다. 이와 함께 비즈니스에서 지속적인 인도의 중요성과 점진적으로 인도하는 반복적인 프로젝트의 생명주기를 설명한다.

1부 기반
___1장 소프트웨어 인도의 문제점
______개요
______대표적인 배포 안티패턴
______목적을 이루기 위한 방법
______효과
______출시 후보
______소프트웨어 인도의 원칙
______정리

___2장 설정 관리
______개요
______버전 관리 이용
______의존성 관리
______소프트웨어 설정 관리
______환경 관리
______정리

___3장 지속적 통합
______개요
______지속적 통합 적용
______지속적 통합의 전제 조건
______지속적 통합 소프트웨어 사용
______필수 실천 항목
______추천 실천법
______분산 팀
______분산 버전 관리 시스템
______정리

___4장 테스트 전략의 적용
______개요
______테스트 종류
______실제 상황과 전략
______프로세스
______정리

2부 배포 파이프라인
___5장 배포 파이프라인의 구조
______개요
______배포 파이프라인이란?
______배포 파이프라인 실천법
______커밋 단계
______자동화 인수 테스트 관문
______후속 테스트 단계
______출시 준비
______배포 파이프라인 구현
______지표
______정리

___6장 빌드와 배포 스크립트 작성
______개요
______빌드 도구의 개요
______빌드와 배포 스크립트 작성의 원칙과 실제
______JVM을 대상으로 한 애플리케이션의 프로젝트 구조
______배포 스크립트 작성
______팁과 유용한 정보
______정리

___7장 커밋 단계
______개요
______커밋 단계의 이론과 실제
______커밋 단계의 결과
______커밋 테스트 스위트의 원칙과 관행
______정리

___8장 자동화 인수 테스트
______소개
______자동화 인수 테스트가 필수인 이유
______인수 테스트 생성
______애플리케이션 드라이버 계층
______인수 테스트 구현
______인수 테스트 단계
______인수 테스트 성능
______정리

___9장 비기능 요구사항 테스트
______개요
______비기능 요구사항 관리
______용량을 고려한 프로그래밍
______용량 측정
______용량 테스트 환경
______자동화 용량 테스트
______배포 파이프라인에 용량 테스트 추가
______용량 테스트 시스템의 추가적인 이득
______정리

___10장 애플리케이션 배포와 출시
______개요
______출시 전략 수립
______애플리케이션 배포와 홍보
______배포 롤백과 무정지 출시
______긴급 수정
______지속적 배포
______팁과 트릭
______정리

3부 제품 인도 생태계
___11장 인프라와 환경 관리
______개요
______운영 팀의 요구 이해하기
______인프라의 모델링과 관리
______서버 공급과 설정 관리
______미들웨어 설정 관리
______인프라 서비스 관리
______가상화
______클라우드 컴퓨팅
______인프라와 애플리케이션 모니터링
______정리

___12장 데이터 관리
______개요
______데이터베이스 스크립트 작성
______점진적 변경
______데이터베이스 롤백 수행 및 무정지 출시
______테스트 데이터 관리
______데이터 관리와 배포 파이프라인
______정리

___13장 컴포넌트와 의존성 관리
______개요
______애플리케이션을 출시 가능하게 유지
______의존성
______컴포넌트
______의존성 그래프 관리
______바이너리 관리
______메이븐을 이용한 의존성 관리
______정리

___14장 고급 버전 관리
______개요
______간략히 살펴보는 리비전 관리의 역사
______브랜치 나누기와 병합
______분산 버전 관리 시스템
______스트림 기반 버전 관리 시스템
______메인라인에서 개발
______출시 브랜치 나누기
______기능 기반 브랜치
______팀 기반 브랜치
______정리

___15장 지속적 제품 인도 관리
______개요
______설정과 출시 관리를 위한 성숙도 모델
______프로젝트 생명주기
______위험 관리 프로세스
______흔한 제품 인도의 문제: 증상과 이유
______준수와 감사
______정리

[ 저자 ]
제즈 험블(Jez Humble)
11살에 첫 번째 ZX Spectrum을 접한 이래로 컴퓨터와 전자공학에 매료되어 직업전선에 뛰어들기 전까지 수년 동안 6502와 ARM 어셈블러, 베이직을 사용하는 에이콘(Acorn) 장비를 개조하는 일을 즐겨왔다. IT 거품 시기인 2000년에 IT 분야에 입문한 이후 지금까지 개발자, 시스템 관리자, 트레이너, 컨설턴트, 관리자, 발표자로 근무했다. 다양한 비영리 단체, 통신 회사, 금융 서비스, 온라인 소매점 컨설팅과 여러 플랫폼 및 기술을 활용해왔다. 2004년부터 소트웍스와 소트웍스 북경, 방갈로르, 런던, 샌프란시스코 지점을 위해 근무했다. 옥스퍼드에서 물리와 철학 학사를 받았으며 런던 대학의 동양과 아프리카 학부에서 음악인류학 석사를 받았다. 현재 샌프란시스코에서 부인과 딸과 함께 살고 있다.

데이비드 팔리(David Farley)
컴퓨터에 흥미를 느낀 지 약 30년 가까이 되었다. 그 기간 동안 거의 모든 소프트웨어 형식(팜웨어부터 운영체제 및 장치 드라이버 수정, 게임 개발과 모든 규모의 크기와 형식의 상용 애플리케이션까지)을 경험했다. 약 20년 전 대규모의 분산 시스템 업무를 시작했으며, 느슨한 결합과 메시지 기반 시스템(SOA의 선구자인) 연구를 수행했다. 영국과 미국에서 크고 작은 팀과 함께 복잡한 소프트웨어를 개발한 폭넓은 경험을 보유하고 있다. 1990년대 초반부터 애자일 개발 방법인 반복 주기 개발, 지속적 통합, 상용 프로젝트에 상당 수준의 테스트 자동화를 도입한 선구자다. 소트웍스에서 근무하는 4년 반의 기간 동안 애자일 개발 접근법을 연마했으며, 가장 규모가 크고 도전적인 프로젝트의 주요 기술 작업을 진행했다. 현재는 세상에서 가장 고성능의 증권 거래를 구축하기 위해 이 책에서 기술한 모든 주요 기술을 사용하는 조직인 LMAX에 근무 중이다.

[ 역자 ]
유석문
기전공학과 석사 과정 후 LG전자 우면연구소, 인텔리코리아, 핸디소프트에서 소프트웨어 개발자로 근무했다. 이후 NHN(현 NAVER)에서 QA, 지도 서비스 개발, 효과적인 소프트웨어 개발 방법의 연구 및 전파 업무를 수행했으며, 오픈소스 NTAF 개발에 참여했다. 저서로 『소프트웨어 품질 관리: NHN은 이렇게 한다!』(공저), 『프로그래머로 산다는 것』(공저)이 있다.

김은하
테스트 자동화를 위한 오픈소스 개발에 참여했고, 소프트웨어 품질 향상을 위한 연구 활동을 하고 있다. 저서로 『소프트웨어 품질 관리: NHN은 이렇게 한다!』(공저)가 있다.

설현준
부산광역시 출생으로, 중학교 때 도미해 코넬 대학교에서 컴퓨터공학과를 졸업하고, 동 대학교 대학원에서 컴퓨터공학 전공으로 공학석사 학위를 취득했다. 2011년 이후로 Naver에서 소프트웨어 개발과 음성합성/음성인식 연구를 맡아왔다. 현재 Naver Labs의 음성인식개발 랩에서 대리로 근무 중이다.
등록된 서평이 없습니다.
알고리즘 문제 해결 전략 세트(전2권)...
구종만
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
Eric Lengy...
폴 그레이엄...
도로시 그레...
 
전체평균(0)
회원평점   회원서평수 0
에이콘 출판사의 신간
『파이썬으로 풀어보는 회귀분석: 단순선형회귀분석부터 고급 회귀분석까지』
루카 마싸론, 알베르토 보스체티 저
0원
(0%↓+1%)
 
『파이썬으로 풀어보는 회귀분석: 단순선형회귀분석부터 고급 회귀분석까지』
루카 마싸론, 알베르토 보스체티 저
27,000원
(10%↓+5%)
 
『빅데이터 분석을 위한 스칼라와 스파크: 대용량 빅데이터 분석과 머신 러닝까지 활용하는』
레자울 카림, 스리다 알라 저
45,000원
(10%↓+5%)
 
『인텔리제이 IDEA: 기본 사용법부터 고급 기능까지 마스터하기』
야마모토 유스케, 이마이 마사노부 저
25,200원
(10%↓+5%)
 
『Kubernetes in Action: 그림과 상세한 설명을 통한 쿠버네티스 완벽 이해』
마르코 룩샤 저
40,500원
(10%↓+5%)
 
이메일주소수집거부