미리보기
실천 반복형 소프트웨어 개발
이 책은 소프트웨어 개발 프로젝트를 제어하기 위해 이해해야 할 원칙(principle...
ISBN 978-89-315-5230-0
저자 쓰다 요시후미
발행일
역자 이영란
감역 김윤호
분량 288쪽
판형 4*6배변형판(182*235)
분야 컴퓨터/인터넷 > IT전문서 > 개발/OS/DB > 개발방법론
정가 15,000원↓
판매가 13,500
(10% off)
적립금 750원(5%)
  소득공제
도서소개

■ 책 소개

 

움직이는 소프트웨어에 가치를 두기 위한
원칙(Principle)과 규율(Discipline)

 

이 책은 소프트웨어 개발 프로젝트를 제어하기 위해 이해해야 할 원칙(principle)과 따라야 할 규율(discipline)을 설명하고 있습니다. 프로젝트를 제어하기 위해서는 프로젝트에서 개발하는 소프트웨어 자체와 소프트웨어를 개발하는 절차(프로세스)의 품질을 둘 다 높여야 할 필요가 있습니다. 이 둘은 밀접하게 관련되어 있기 때문에 이 둘을 제어하는 것이 프로젝트를 제어하는 것으로 이어집니다. 그래서 이 책에서는 개발 중인 소프트웨어(빌드)를 다루는 방법과 그것을 구축하는 절차(빌드 프로세스)에 많은 페이지를 할당하였습니다. 또한, 다양한 개발 툴의 사용 절차와 운용 정책에 대해서 자세히 설명하였습니다. 이러한 운용 방침(policy)은 소프트웨어 개발의 규모나 단계에 따라 적절히 변경할 필요가 있습니다. 여러분 개개인에게 적절한 방법을 제시할 수는 없지만, 여러분이 그것을 찾아내기 위한 재료를 많이 소개하려고 노력했습니다.

 


이 책이 필요한 독자
• 소프트웨어 개발 경력이 3~5년 정도인 사람
• 프로젝트팀을 이끄는 입장에 있으며, 팀의 운용 정책을 결정해야 하는 사람
• 앞으로 프로젝트팀을 이끌 입장이 되려고 하는 사람
• 프로젝트팀의 운용에 대해 문제의식을 갖고 있는 사람
• 개발 중인 제품의 품질을 제어할 수 없어서 곤란해 하고 있는 사람
• 개발을 지원하는 툴(구성 관리 툴 등)을 도입하고 싶지만, 조직의 문화적인 저항에 부딪혀 도입이 불가능했던 사람

 


이 책의 특징

1. 소프트웨어를 개발할 때의 개념을 이해하는 것
Windows상에서 개발한다고 하면 .exe 파일이 되고, Java로 웹 애플리케이션을 개발한다고 하면 .war 파일이 됩니다. 빌드의 성질을 잘 아는 것이 소프트웨어 개발을 이해하기 위한 첫걸음이라고 할 수 있습니다.

 

2. 소프트웨어 개발을 지원하는 툴의 사용법에 대해 일반적인 원칙을 설명하는 것
이 책은 개발 툴(구성 관리 툴이나 버그 추적 시스템)을 활용하기 위한 일반적인 원칙을 Trac, Git, Subversion과 같은 개별 툴과 무관하게 설명합니다.

 

3. 소프트웨어 개발에 자주 사용되는 개념이나 용어를 많이 소개하는 것
이 책은 소프트웨어 개발에서 사용하는 많은 용어를 쉽게 소개하고 있습니다. 또한, 본문 중에는 의도적으로 영어를 많이 포함시켰습니다.

 

4. 프로젝트의 운영 방침을 적절히 설정하여 팀 멤버 전원이 주지하고 이해하도록 하는 것
이 책은 팀 멤버 전원이 학습할 수 있는 텍스트로 활용할 수 있도록 전문적인 용어를 피하고, 가능한 한 평이한 단어를 골라 기술했습니다.

 

5. 다양한 메타포(metaphor, 비유)를 사용하여 소프트웨어 개발을 설명하는 것
적절한 메타포를 사용하면 소프트웨어에 대한 공통된 이해를 얻을 수 있습니다.
 

 

■ 저자 소개

 

저자 | 쓰다 요시후미
일본 기업과 외국계 기업을 거쳐 현재는 Microsoft에서 테스트 엔지니어로 재직중이며, 취미는 영화 감상이지만 최근에는 바빠서 영화를 볼 시간이 없어 고민.

 

역자 | 이영란
테크니컬 라이터 및 컴퓨터 도서 전문 번역자
<번역 도서>
- 성공과 실패를 결정하는 1%의 Windows 구조와 원리
- 마스터링 Visual C# .NET
- Visual Basic .NET
- 마스터링 TCP/IP 입문편 5판 외 다수

 

감역 | 김윤호
(現)상명대학교 교수(소프트웨어대학 컴퓨터과학과)
- 서울대학교 계산통계학과 학사
- 서울대학교 대학원 전산과학전공 석/박사

 


목차

 

제1장 소프트웨어를 키우기 위한 준비
1.1 건강한 소프트웨어를 키우려면
1.2 소프트웨어의 진화와 수명
1.3 소프트웨어를 잘 키운다
1.4 이 장의 요약

 

제2장 팀의 역할과 책무
2.1 팀의 역할과 책무란?
2.2 소프트웨어 개발에 필요한 롤의 종류
2.3 기능팀
2.4 그 밖의 롤
2.5 이 장의 요약

 

제3장 타임박스와 빌드의 운용
3.1 타임박스에 의한 반복 구축
3.2 마일스톤의 운용
3.3 제품을 단계적으로 동결한다
3.4 반복 주기(iteration)의 운용
3.5 위클리 빌드의 운용
3.6 빌드의 릴리즈 범위와 관리
3.7 그 밖의 빌드의 분류
3.8 이 장의 요약

 

제4장 구성 관리와 브랜치 전략
4.1 소프트웨어 구성 관리와 지원 툴
4.2 SCM 툴의 기본
4.3 체인지셋
4.4 샌드박스
4.5 커미트 절차
4.6 브랜치를 자른다
4.7 브랜치의 프로모션
4.8 체인지를 포트한다
4.9 체인지의 프로모션
4.10 대규모 개발에서의 처리
4.11 그 밖의 관리와 운용
4.12 브랜치를 잘 다루기 위한 프랙티스
4.13 이 장의 요약

 

제5장 재현 가능한 빌드의 실현
5.1 빌드의 기본
5.2 빌드 툴 : Make
5.3 빌드 툴 : Ant
5.4 파일 간 의존 관계
5.5 빌드 브레이크
5.6 재현 가능한 빌드의 실현
5.7 빌드에 첨부하는 문서
5.8 계속적 인티그레이션
5.9 릴리즈 트레인을 운행한다
5.10 이 장의 요약

 

제6장 버그의 추적과 해결
6.1 버그의 추적이란?
6.2 버그의 추적과 버그 보고표
6.3 버그 보고표의 상태와 처리 방법
6.4 버그 보고표의 항목
6.5 버그 추적의 프랙티스와 안티 프랙티스
6.6 리그레션(Regression)
6.7 트리아지(Triage)
6.8 버그의 수를 플롯하기
6.9 버그 추적 시스템의 활용
6.10 도요타의 간판 방식과 버그 추적 시스템
6.11 이 장의 요약

 

제7장 테스트 케이스의 자동화
7.1 테스트란?
7.2 테스트의 준비
7.3 테스트 케이스의 항목
7.4 테스트 결과표의 항목
7.5 테스트의 자동화
7.6 자동화된 통합 테스트의 운용
7.7 툴을 사용한 테스트의 운용
7.8 유지보수팀에게 테스트를 건네기
7.9 가상화 기술에 의한 테스트 환경의 구축
7.10 이 장의 요약

 

제8장 개발 프로세스의 구축
8.1 개발 프로세스의 구축
8.2 빌드 앤 픽스 모델
8.3 폭포수형 개발 모델
8.4 반복형 개발 모델
8.5 애자일 개발 모델
8.6 개발 프로세스를 구축하기 위한 힌트
8.7 이 장의 요약

 

저자
부록/예제소스
정오표
    최근 본 상품 1