Dr. Ulrich Schuster
Hauptstr. 139, 10827 Berlin
+49 151 1455 1232

© copyright 2020 KOING GmbH


Can systems Architecture be Agile?

Systems architecture determines the fundamental structure of a system; thus, architecture decisions are far-reaching. From this statement, it is easy to conclude that all relevant architecture decisions must be taken before implementation can start, because these decisions cannot be reverted easily. Hence, does system architecture imply big design up from (BDUF), the most well-known agile anti-pattern? Are agility and architecture at odds?

No, quite the contrary! First: A lack of architecture inhibits agile design and development. The effect of agile changes would become unforeseeable and thus too risky without the orientation and predictability provided by a strong architecture. Iterations, including testing and bug-fixing, would either take very long. or would just fall by the wayside. Second: Systems architecture does not need to be all-encompassing; not all details must be be defined and documented before implementation can start. Architecture can be refined as a system evolves, as long as its basic architecture is designed for adaptation. It is good practice to systematically defer architecture decisions to the latest moment possible, when the maximum amount of information is available to make a sound decision.

We recommend a risk-based approach, where those architectural decisions that bear the largest risk are prepared, decided upon and verified first. For example, decisions regarding less agile hardware design or incurring long lead times. Simulation models are the tool of choice to speed up architecture analysis and design.

Can systems Architecture be Agile? - KOING GMBH