아키텍처의 목표는 필요한 시스템을 만들고 투입되는 인력을 최소로 하는 게 목표다. 새로운 기능을 만들고 수정하는 데 있어서 비용을 최소화를 하는 게 좋은 아키텍처다. 이러한 목표를 달성하려면 관심사의 분리를 철저하게 하고 의존성 분리하여야 한다. 그러려면 경계를 잘 나누어야 한다. 좋은 아키텍처는 세부사항들의 결정을 나중에 결정할 수 있도록 하게 하고 쉽게 변경 가능하도록 한다. 이렇게 잘 설계되어 있는지는 테스트를 작성할 때 드러난다. 테스트하기 어렵다면 설계가 잘못된 것이다.