
29
1
장
진화적 소프트웨어 아키텍처
이 책이 설명하는 메커니즘과 설계 기법은 아키텍처 거버넌스 분야에 통용된다. 이를 도입하면
유능한 개발팀의 소프트웨어 개발 프로세스와 비슷한 수준의 지속적 확신을 아키텍처 거버넌
스 활동으로부터 얻을 수 있다.
아키텍처에 관한 의사 결정은 각 선택에 따른 장단점의 차이가 크다. 이 책에서
아키텍트
architect
의 역할을 언급할 때는 조직 내 직책과 관계없이 아키텍처 관련 결정을 내리는 모든 이가 그 대
상이다. 덧붙이자면, 아키텍처에 관련된 중대한 결정을 내리기 위해서는 사실상 늘 여러 분야
가 협력해야 한다.
애자일 프로젝트에 아키텍처가 필요한가?
애자일 엔지니어링을 잠시 경험한 이들이 주로 갖는 의문이다. 애자일의 목표는 쓸모없는 오버헤드를 제거하
는 것이지 설계처럼 꼭 필요한 단계를 생략하는 것이 아니다. 아키텍처의 수준은 여타 구성 요소와 마찬가지
로 아키텍처의 규모에 의해 결정된다. 건축으로 비유하자면 개집과 빌딩의 차이를 생각하면 쉽다. 개집을 만
들 때는 정교한 아키텍처가 아닌 간단한 자재만 있으면 충분하다. 반면
50
층짜리 오피스 빌딩을 지으려면 반
드시 사전 설계가 필요하다. 마찬가지로, 간단한 데이터베이스를 취급할 웹사이트를 만들 때는 아키텍처가
필요치 않다. 그저 적당한 재료를 찾아서 조합하면 된다. 그러나 ...