신간보도자료	(주)도서출판 길벗 서울시 마포구 월드컵로 10길 56(서교동) 대표전화 (02)332-0931/팩스 (02)323-0586 홈페이지 www.gilbut.co.kr 담당자 : 정지은(02-330-9792)

신간안내	더 나은, 더 빠른 소프트웨어를 구축하기 위한 소프트웨어 아키텍처 필수 가이드 이펙티브 소프트웨어 아키텍처

이펙티브 소프트웨어 아키텍처

: 더 나은, 더 빠른 소프트웨어를 구축하기 위한 소프트웨어 아키텍처 필수 가이드

	▶ 발행 : (주)도서출판 길벗 ▶ 발행일 : 2025년 3월 28일 ▶ 지은이 : 올리버 골드만 ▶ 옮긴이 : 최희철 ▶ 쪽수 : 296쪽 ▶ 판형 : 152 * 225(mm) ▶ 높이(두께) : 18.5(mm) ▶ 정가 : 28,000원 ▶ ISBN : 979-11-407-1299-1 93000 ▶ 키워드 : architecture, 아키텍트, 클린, 설계, 구조, 원칙

*분야

예스24	국내도서 > IT 모바일 > 프로그래밍 언어 > 프로그래밍 교육 국내도서 > IT 모바일 > 프로그래밍 언어 > 프로그래밍 언어 기타 국내도서 > IT 모바일 > 컴퓨터 공학 > 소프트웨어 공학 국내도서 > IT 모바일 > 컴퓨터 공학 > 개발방법론
알라딘	국내도서 > 컴퓨터/모바일 > 컴퓨터 공학 > 소프트웨어 공학 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > 프로그래밍 언어 기타 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 프로그래밍 기초/개발 방법론
교보문고	국내도서 > 컴퓨터/IT > 컴퓨터공학 > 소프트웨어공학 국내도서 > 컴퓨터/IT > 대학교재 국내도서 > 대학교재 > 컴퓨터

[간단한 책 소개]

소프트웨어 아키텍처의 개념과 기본 원칙을 담고 있는

소프트웨어 아키텍처 필수 가이드!

소프트웨어는 점점 더 복잡해지고 있으며, 이러한 시스템을 개발하고 운영하는 일은 매우 어렵다. 이 과정에서 소프트웨어 아키텍처는 시스템을 구상하고 구현하며 운영하는 데 중요하고 핵심적인 역할을 한다. 이 책은 소프트웨어 아키텍처가 무엇인지 정의하고, 이를 실제 개발 과정에서 어떻게 활용할 수 있는지 설명한다. 특정 아키텍처 방식만 다루는 것이 아니라, 아키텍처가 제품 개발 과정에서 어떤 역할을 하며, 팀 내 다른 팀과 어떻게 협력해야 하는지도 알려준다. 특히, 시스템이 변화할 때 이를 효과적으로 설계하고 관리하는 방법을 소개하며, 빠르고 좋은 결정을 내리는 것이 프로젝트 성공에 얼마나 중요한지 강조한다. 또한, 개발 과정에서 의사소통과 협업이 왜 중요한지, 그리고 아키텍처 팀을 어떻게 구성하고 운영해야 하는지도 다룬다. 마지막으로, 저자의 경험과 실무적인 조언을 풍부하게 담고 있어 실제 아키텍처 설계와 운영에 매우 유용한 가이드를 제공한다.

[출판사 리뷰]

어도비의 시니어 아키텍트에서 시작해 수석 아키텍트가 되기까지!

20년 실무 중심의 전문가가 알려주는 소프트웨어 아키텍처의 모든 것

소프트웨어 아키텍처는 단순한 설계를 넘어, 변화하는 환경에서 소프트웨어 시스템을 지속하게 만들고 최적화해야 하는 핵심 요소이다. 이 책은 아키텍처의 개념과 함께 실무에서 아키텍처를 어떻게 적용하고, 조직 내에서 효과적으로 운영할 수 있는지를 다룬다. 단순한 패턴이나 기술적 요소를 나열하는 것이 아니라 변화 관리, 의사결정, 커뮤니케이션, 아키텍처 팀의 역할까지 폭넓게 설명하며, 개발 조직이 더욱 유연하고 확장할 수 있는 시스템을 구축하도록 돕는다.

특히 소프트웨어 아키텍처가 조직과 제품에 미치는 영향을 중점적으로 다루며, 실무에서 부딪히는 문제를 해결할 수 있는 구체적인 전략과 사례를 제공한다. 소프트웨어 아키텍트뿐만 아니라 개발자, 팀 리더, 제품 관리자, 디자이너까지도 이해할 수 있도록 구성되어 있어 소프트웨어 시스템을 더 나은 방향으로 설계하고 싶은 모든 이들에게 필수적인 가이드가 될 것이다.

[저자 소개]

올리버 골드만

Autodesk에서 AEC 소프트웨어 아키텍처 실무를 이끌고 있다. 그는 30년간 소프트웨어 업계에서 활동하며, 실시간 분산 시스템 상호작용, 과학 컴퓨팅, 금융 시스템, 모바일 애플리케이션 개발, 클라우드 아키텍처 등의 분야에서 혁신적인 제품을 개발해 왔다. Adobe를 비롯한 여러 기업에서 근무한 경험이 있으며, 스탠퍼드 대학교에서 두 개의 컴퓨터 공학 학위를 취득하였다. 또한 50건 이상의 미국 소프트웨어 특허를 보유한 발명가이며, 과거 Dr. Dobb’s Journal에 기고한 경력이 있다.

[역자 소개]

최희철

곰씨네IT를 비롯하여 다양한 블로그를 운영하고 있는 개발자이다. 2010년부터 LG CNS에서 소프트웨어 엔지니어로 일하며, LG전자 물류 시스템 구축, 스마트 TV OS 개발, LG화학 모바일 프로젝트 등에 참여했다. 2017년 미국으로 이주해 프리랜서 개발자로 전향하면서 현재는 AI와 머신러닝 분야로의 경력 확장을 위해 미국 매사추세츠 주립대에서 컴퓨터 공학 석사 과정을 병행하고 있다. 저서로는 『개발자가 영어도 잘해야 하나요?』(길벗, 2024)가 있다.

[책 속으로]

이 책은 아키텍처 기술과 지식을 훨씬 더 크고 복잡한 제품 개발 프로세스에 어떻게 적용할 수 있는지 설명하는 것이 목표입니다. 특정 아키텍처 스타일에 초점을 맞추지 않고 소프트웨어 아키텍처를 정의하며, 제품 개발 팀의 다른 전문 분야 사이에서 아키텍처의 위치와 역할을 규정합니다. 또 아키텍처가 개념, 프로세스, 표준 등과 어떻게 연관되는지 다양한 접점을 알아봅니다.

다음으로 시스템 변경이라는 주제를 자세히 살펴볼 것입니다. 아키텍처 실무에서 핵심은 시스템 변경 사항을 식별하고 관리하며 설계하는 것입니다. 설계 과정은 종종 블랙박스처럼 보일 수 있습니다. 마치 아이디어와 요구 사항을 입력하면 완성된 설계가 자동으로 나오는 것처럼 인식되기도 합니다. 하지만 실제로 시스템 변경 과정은 연속적이면서도 구분 가능한 여러 단계로 구성되어 있습니다. 이러한 단계들을 명확히 하고 가시화하며, 각 변경 단계를 체계적으로 관리하는 모든 노력이 전체 프로세스 개선으로 이어질 것입니다.

엔지니어링 핵심은 트레이드오프(trade-offs)를 다루는 것이며, 변경으로 시스템을 개발하고 발전시키는 과정에는 끊임없는 설계 결정이 따릅니다. 각 결정은 어떤 경로를 열거나 닫기도 하며, 막다른 길에 이르렀을 때 이전 결정을 번복하기도 합니다. 이러한 결정을 내리는 방법 자체가 핵심 기술입니다. 프로젝트 팀이 올바른 결정을 더 많이 내릴수록 이전 결정을 번복하는 데 낭비하는 시간은 줄어듭니다. 좋은 결정을 빨리 내릴수록 프로젝트를 신속하게 진행할 수 있습니다.

대규모 프로젝트에서는 프로젝트 관리와 원활한 의사소통이 중요한 고려 사항입니다. 이미 내려진 결정과 보류 중인 결정, 시스템을 설명하는 용어, 현재 사용 중인 아키텍처를 선택한 이유 등은 모두 도구와 프로세스, 의사소통의 핵심 요소가 됩니다.

마지막으로 소프트웨어 아키텍트의 독립적인 역할을 정의하고, 조직 내에서 아키텍처 팀을 어떻게 운영하는지 살펴봅니다. 아키텍처 팀을 구성하는 선택지와 아키텍처가 조직 내 다른 분야와 어떻게 협력해야 하는지도 알아볼 것입니다. 아울러 이 장에서는 아키텍처 인재를 어떻게 발굴하고 효과적으로 육성할 수 있는지도 다룰 것입니다.

_책 소개 중에서

[목차]

1장 소프트웨어 아키텍처

1.1 기본 구조

1.2 시스템

1.3 구성 요소

1.4 구성 요소 간 관계

1.5 환경과의 관계

1.6 설계를 통제하는 원칙

1.7 시스템 진화

1.8 요약

2장 맥락

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장 변화

3.1 변화의 단계

3.2 변화의 유형

3.3 제품 중심 변화

3.4 기술 중심 변화

3.5 단순화

3.6 투자 마인드

3.7 점진적 배포

3.8 아키텍처 진화

3.9 요약

4장 프로세스

4.1 시스템 문서화

4.2 비전을 향한 작업

4.3 변경 제안서 작성

4.4 백로그 관리

4.5 대안 고려

4.6 아무것도 하지 않기

4.7 긴급성과 중요성

4.8 시스템 재문서화

4.9 요약

5장 설계

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장 의사 결정

6.1 추가 정보는 도움이 되는가?

6.2 그동안 어떤 일이 일어났는가?

6.3 얼마나 많은 의사 결정을 하고 있는가?

6.4 아무것도 하지 않을 경우 비용은 얼마인가?

6.5 변경을 수용할 수 있는가?

6.6 결정을 잘못 내렸을 때 비용은 얼마인가?

6.7 얼마나 더 확신할 수 있는가?

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 요약

8장 커뮤니케이션

8.1 정신 모델

8.2 문서 작성

8.3 대화

8.4 정보 아키텍처

8.5 네이밍

8.6 용어집

8.7 경청

8.8 요약

9장 아키텍처 팀

9.1 전문화

9.2 팀 구조

9.3 리더십

9.4 책임

9.5 인재

9.6 다양성

9.7 조직 문화

9.8 모임

9.9 세미나와 서밋

9.10 요약

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 맺음말