아키텍처는 본질적으로 고립된 분야가 아닙니다. 아키텍처 팀은 정적인 요구 사항을 받아 몇 주, 몇 달 동안 숨어서 작업한 뒤 최종적으로 완벽한 아키텍처를 뚝딱 제시하지 않습니다.
더욱이 요구 사항만으로는 해결해야 하는 과제에 대한 전반적인 맥락을 알 수 없습니다. 요구 사항이 아무리 포괄적이어도 제품의 모든 측면을 다룰 수 없기 때문입니다. 따라서 아키텍처 팀은 제품의 현재 설계와 역사, 진화 과정, 고객과 시장, 판매 경로와 방식을 잘 알고 있어야 합니다. 이러한 요소가 모두 소프트웨어 아키텍처에 영향을 미치기 때문입니다.
이와 유사하게 아무리 성공적인 소프트웨어 제품이라도 결코 완벽할 수는 없습니다. 그래서 항상 다음 릴리스를 위한 개발 프로세스를 반복해서 진행합니다. 미래에 있을 소프트웨어 릴리스는 이미 계획되어 있거나 추정되어 있기도 하고, 너무 먼 미래의 일이라 고려하지 못하기도 합니다. 그럼에도 아키텍처 팀은 시간 흐름에 따른 일련의 설계를 관리해야 하며, 각 개발 프로세스의 경계와 범위를 어떻게 나눌지 결정해야 합니다.