“While we must acknowledge emergence in design and system development, a little planning can avoid much waste.”
James O. Coplien Tweet
The architecture of a system must support the ability to provide frequent, independent releases to meet business objectives. In addition, the architecture must be easily adaptable to strategy changes. This is achieved by evolutionary design and a combination of both intentional and emergent architecture. Architects will spend less time defining ‘intentional’, big-upfront architecture and more time with constantly assessing incoming use cases to evaluate their potential impact on the current design.