
225
7
장
진화 가능한 아키텍처 구축
을 클라우드에서 빌드하고 테스트하면 소프트웨어 릴리스 리소스가 크게 절감된다. 이 프로젝
트가 성공적으로 안착되면 아키텍트는 더욱 피트니스가 높은 아키텍처를 구축하는 일에 시간
을 할애할 수 있다. 개발자가 손상방지 계층을 마련하고 진화적 아키텍처의 관행에 관심을 기
울이면 마이그레이션도 마냥 어려운 일만은 아니다.
많은 기업에서 시장의 존재를 가늠하기 위해 희생적 아키텍처를 기반으로 최소한의 기능을 갖
춘 제품
12
을 만들어 투입한다. 이러한 전략은 분명 효과적이다. 그러나 언젠가는 시간과 자원
을 들여 한 단계 더 견고한 아키텍처를 재구축해야 한다는 사실을 잊지 말아야 한다. 트위터보
다 덜 요란하게 전환할 수 있다면 금상첨화다.
한편 기술 부채는 이제 막 성공 길에 오른 프로젝트의 장래에 영향을 미친다. 프레드 브룩이
두
번째 시스템 효과
라 부른 이 부작용은, 작고 우아하며 뛰어난 시스템이 과장된 기대 속에서 거
대한 만능 괴물로 진화하는 현상을 의미한다. 경영진은 멀쩡한 코드를 제거한다는 계획을 좀처
럼 달가워하지 않는다. 그렇기에 아키텍트는 항상 추가하고, 절대 제거하지 않고, 폐기하는 것
을 기피하게 된다.
기술 부채는 일종의 메타포로 해석해도 무리가 없다. 기술 부채는 프로젝트 경험을 은연중에
드러내며, 발생 원인과 ...