
개요
본 도서는 4개의 Part와 25개의 Chapter로 구성되어 있다.
Part 1는 본 도서가 프로그래밍에 집중된 것이 아닌 소프트웨어 엔지니어링에 대해서 말하고자 함을 밝히고 있다.
즉, 각 Chapter를 바라보고 풀어내고자 하는 View Point를 제시한다.
Part 2는 소프트웨어 개발 시, 요구되는 것에 대한 사항에 대해서 설명하고자 한다.
이는 단순히 H/W 자원이나 코드를 말하고자가 아니다.
소프트웨어 개발은 다수 Man power의 노력을 통해서 나오는 산출물이기에 팀이란 곳에서 소속되기 위한 필요되어지는 문화적 요인에 대해서 말하고 있다.
Part 3는 소프트웨어 개발 시, 생산성을 증대하는 요소들에서 대해서 설명하고자 한다.
사소할 수 있는 문서가 왜 중요하며, 개발과 함께 폐기라는 절차또한 중요하고 필요한 과정임을 말하고 있다.
Part 4는 앞서 Part1 ~ Part2 에서 소개되었던 프로세스 내에서 사용되어지는 도구에 대해서 설명한다.
이러한 도구는 어떻게 쓰일 수 있으며, 어떻게 쓰어야지 효율적인지를 말한다.
또한, 개발되어진 소프트웨어를 배포, 출시에 대한 전략에 대해서도 표현하고 있다.
목차
Part 1. 전제
Chap1. 소프트웨어 엔지니어링이란?
Part 2. 문화
Chap2. 팀원크 이끌어내기
Chap3. 지식 공유
Chap4. 공정 사회를 위한 엔지니어링
Chap5. 팀 이끌기
Chap6. 성장하는 조직 이끌기
Chap7. 엔지니어링 생산성 측정하기
Part 3. 프로세스
Chap8. 스타일 가이드와 규칙
Chap9. 코드 리뷰
Chap10. 문서자료
Chap11. 테스트 개요
Chap12. 단위 테스트
Chap13. 테스트 대역
Chap14. 더 큰 테스트
Chap15. 폐기
Part 4. 도구
Chap16. 버전 관리와 브랜치 관리
Chap17. Code Search
Chap18. 빌드 시스템과 빌드 철학
Chap19. Critique: 구글의 코드 리뷰 도구
Chap20. 정적 분석
Chap21. 의존성 관리
Chap22. 대규모 변경
Chap23. 지속적 통합
Chap24. 지속적 배포
Chap25. 서비스형 컴퓨트
마무리
본 도서는 구글이라는 회사가 어떠한 방식으로 소프트웨어가 개발 되어지는 가에 대해서 프로그래밍 관점이 아닌 문화 및 프로세스 관점에서 자세히 설명하고 있다.
주니어 개발자에게 주는 메시지는 개발조직 내에서 진행되는 절차가 왜 필요한가에 대해서 자세히 설명해주는 사람이 없었을 것이다.
이러한 절차가 불필요하고 무의미하다는게 아니며, 생산성 향상을 위한 큰 기초 위해서 진행되고 있음을 설명해주고 있다.
시니어 개발자에게 주는 메시지는 체계화된 절차에 대한 백과사전과 같은 지식을 제공하여서, 현재 조직 내 절차와 비교를 통해서 부족한 부분에 대해서 채워 나갈 수 있는 Mildstone 과 같은 가치를 느낄 수 있다.
- 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.