In modern practice, few products or systems of any complexity are built without some consideration of how they are related to other products. Terms often used to describe this planning include:
Reuse, legacy, product extensions
Product lines, preplanned product improvements
Product platforms, modularity, commonality, standardization
So far in this text, we have focused on the creation of architecture from a blank slate. In our experience, questioning the first principles of an architecture leads to the most holistic evaluation of opportunity, even if some of the options considered are later eliminated as infeasible due to constraints from the architectural legacy ( ...