2.4 제품 계열
완전히 독립적인 소프트웨어 제품은 거의 없습니다. 이러한 소프트웨어 제품 관계는 다양한 형태로 활용됩니다. 특히 신제품을 개발할 때 처음부터 완전히 새롭게 시작하는 경우는 드뭅니다. 정도의 차이는 있지만, 보통은 아무리 새로운 소프트웨어라고 해도 기존 제품에서 코드와 아키텍처를 어느 정도 상속받습니다. 이러한 연결 고리는 상황에 따라 이점이 될 수도 있고, 반대로 문제가 될 수도 있습니다.
아키텍처 팀이 이러한 점을 최대한 활용하려면 각 제품 간 관계를 이해하고 적극적으로 관리해야 합니다. 소프트웨어 제품 간 관계는 결국 제품이 개발되는 환경이 되며, 환경과의 관계는 아키텍처의 핵심 정의 중 한 부분이기도 합니다.
이 절에서는 소프트웨어 제품 간 관계를 파악하고 이를 효과적으로 이해하는 데 도움이 되는 몇 가지 분류 체계를 살펴보겠습니다.