200
3부
영향력
7.1.1 7.1.1
책임이 따르는 마지막 순간책임이 따르는 마지막 순간
애자일 개발 세계는 ‘
책임이 따르는 마지막 순간
last
responsible
moment
’의 가치를 오랫동안 강조해왔
다. 중요한 결정은 가능한 한 미루되, 더 이상 미룰 수 없는 시점을 넘기면 안 된다. 성급하게
내린 결정은 과도한 엔지니어링을 낳고, 적시를 놓친 결정은 아키텍처가 지향하는 목표를 가로
막는다.
결정의 순간은 불필요하게 지연되어서는 안 된다. 아키텍트가 의사 결정 시기의 변곡점을 정확
히 포착할수록 가용 정보는 극대화된다. 결국 아키텍트의 직무는 트레이드오프 분석을 근간에
두고 있기에 정보가 결정적인 역할을 한다. 정보는 트레이드오프를 판단하는 근거 자료다. 정
보가 많을수록 올바른 결정을 내릴 수 있다.
결정이 너무 일찍 내려지면, 아키텍트는 선택의 여지를 남겨둔 채 일반화된 해결책을 선택하기
마련이다. 이렇듯 일반화된 솔루션은 구현하기 매우 복잡한 데 비해 상대적인 이점도 별로 없다.
그러므로 결정을 내리기에 앞서 객관적인 기준을 먼저 수립하고, 그에 따라 결정의 우선순위를
매기는 것이 바람직하다.
7.1.2 7.1.2
진화성진화성을 높이는 설계 및 개발을 높이는 설계 및 개발
아키텍트는
진화성
evolvability
을 아키텍처의 최우선 목표로 여겨야 한다. 이는 아키텍처 특성을 분
석하는 객관적인 척도가 필요하다는 뜻이다. 또한 커플링의 적합성을 고려하고 아키텍처의 취
약점을 보완할 수단을 강구할 필요가 있다.
6
장에서 설명했듯이 ...