Foreword: The Agile Architecture Revolution
The core thrust of architecture has been to define core business requirements, and then construct the IT solution to meet those requirements, typically as instances of software. While this seems like a simple concept, many in enterprise IT went way off course in the last 10 to 15 years.
IT does not provide the value it once did, meaning IT does not meet the objectives and expectations of the business. Indeed, IT has become a cost center where the resource burn increased significantly over the last 20 years, while the value to the business decreased relative to costs. This can't continue.
We've tried all of the tricks. With “waterfall” types of approaches to application architecture, the time it takes to move from understanding the requirements to the final deployed system could be years. Thus, by the time the system is completed and deployed, the business requirements likely have changed, you're back to the drawing board, and the delivered system has significantly diminished in value.
To address the latency issues around the waterfall, those who design and build systems turned to the concept of interaction. This means moving through cycles of understand-design-develop-deploy, over and over again, until there is something that resembles the desired business solution. Iteration approaches to software development often lead to poorly designed and lower-quality systems because you get it wrong over and over again, seemingly to get it right ...