개요
올리버 골드만(Oliver Goldman)이 쓴 효과적인 소프트웨어 아키텍처에 관한 책의 한국어 번역서입니다. 이 책은 소프트웨어 시스템의 설계, 진화, 거버넌스를 위한 실무적인 가이드를 제공합니다. 컨텍스트, 변화, 프로세스, 설계, 의사결정, 실천, 커뮤니케이션, 아키텍처 팀, 제품 개발 조직 등 폭넓은 주제를 다룹니다.

목차
- 소프트웨어 아키텍처
- 1.1 기본 구조
- 1.2 시스템
- 1.3 컴포넌트
- 1.4 컴포넌트 간 관계
- 1.5 환경과의 관계
- 1.6 설계를 지배하는 원칙
- 1.7 시스템의 진화
- 1.8 요약
- 컨텍스트
- 2.1 개념
- 2.2 신뢰성
- 2.3 아키텍처적으로 중요한 요구사항
- 2.4 제품 라인
- 2.4.1 단일 제품, 다중 플랫폼
- 2.4.2 제품 라인
- 2.4.3 제품 패밀리
- 2.4.4 크로스 플랫폼
- 2.5 플랫폼 구축
- 2.6 표준
- 2.7 요약
- 변화
- 3.1 변화의 단계
- 3.2 변화의 종류
- 3.3 제품 주도 변화
- 3.4 기술 주도 변화
- 3.5 단순화
- 3.6 투자 마인드셋
- 3.7 점진적 배포
- 3.8 아키텍처적 진화
- 3.9 요약
- 프로세스
- 4.1 시스템 문서화
- 4.2 비전을 향한 작업
- 4.3 변경 제안서 작성
- 4.4 백로그 관리
- 4.5 대안 검토
- 4.6 아무것도 하지 않기
- 4.7 긴급함과 중요함
- 4.8 시스템 재문서화
- 4.9 요약
- 설계
- 5.1 아키텍처가 설계 효율에 어떻게 기여하는가
- 5.2 설계가 아키텍처 변화에 미치는 영향
- 5.3 분해
- 5.4 합성
- 5.5 합성과 플랫폼
- 5.6 점진적 접근
- 5.7 병렬화
- 5.8 조직 구조
- 5.9 열린 작업
- 5.10 포기
- 5.11 마무리
- 5.12 요약
- 의사결정
- 6.1 더 많은 정보가 도움이 될까?
- 6.2 지금까지 무슨 일이 있었나?
- 6.3 우리는 몇 개의 결정을 내리고 있나?
- 6.4 아무것도 하지 않을 때의 비용은?
- 6.5 변화를 흡수할 수 있나?
- 6.6 잘못된 결정의 비용은?
- 6.7 얼마나 더 확신할 수 있을까?
- 6.8 이 결정은 내가 내릴 책임인가?
- 6.9 일관성이 있는가?
- 6.10 문서화할 수 있는가?
- 6.11 요약
- 실천
- 7.1 백로그
- 7.2 카탈로그
- 7.3 템플릿
- 7.4 리뷰
- 7.5 진행 상태
- 7.6 속도(벨로시티)
- 7.7 집중 시간
- 7.8 요약
- 커뮤니케이션
- 8.1 멘탈 모델
- 8.2 문서화
- 8.3 대화
- 8.4 정보 아키텍처
- 8.5 네이밍
- 8.6 용어집
- 8.7 경청
- 8.8 요약
- 아키텍처 팀
- 9.1 전문화
- 9.2 팀 구조
- 9.3 리더십
- 9.4 책임
- 9.5 사람
- 9.6 다양성
- 9.7 조직 문화
- 9.8 미팅
- 9.9 세미나와 서밋
- 9.10 요약
- 제품 개발 조직
- 10.1 개발 방법론에 따른 작업
- 10.2 제품 관리와의 협업
- 10.2.1 돕기
- 10.2.2 다양한 결과물
- 10.2.3 범위의 경계
- 10.3 UX 팀과의 협업
- 10.4 프로그램 관리와의 협업
- 10.5 엔지니어링 팀과의 협업
- 10.5.1 끝까지 함께하기
- 10.6 테스트 팀과의 협업
- 10.7 운영 팀과의 협업
- 10.8 요약
부록 — 결론
- A.1 비전
- A.2 아키텍처 회복
- A.3 조직 변화
- A.4 변화 프로세스
- A.5 마치며