The Life and Times of an Architecture: Architectural Decision Making Throughout the Solution Life Cycle
May 2017 • Presentation
Explore the metaphor of a human lifetime to illustrate various aspects of architectural decision making throughout a software system's lifecycle.
Software Engineering Institute
This presentation was created for a conference series or symposium and does not necessarily reflect the positions and views of the Software Engineering Institute.
Over the last decade, the architecture discipline has matured from up-front design to a stream of architectural decisions that address concerns related to ever-evolving software systems. The word stream implies a continuous process, but in real life that stream is far from homogeneous. Architects make decisions that have widely varying impact, based on information with differing levels of uncertainty, throughout the life of a software solution. The way these decisions and their impact are communicated evolves as the audience and focus of the architectural communication change. In this tutorial, we explore the metaphor of a human lifetime to illustrate aspects of architectural decision making throughout a software solution's lifecycle. Amid the stream of design decisions, we will look for anchor points with common concerns to address recurring communication needs. We will see how the nature of architectural decisions changes from birth (the first architectural outline) to graduation (making the business case), and find guidance on communicating the architecture at times of life-defining milestones like marriage (committing to the architecture) and revolutionary changes to the solution. The points will be illustrated by real-life examples from an interesting case study. The tutorial is based on Risk- and Cost-Driven Architecture, but no prior knowledge of it is required.