We want our organizations and systems to be agile. We want them to evolve with the needs of the business, its customers, and stakeholders and be resilient in the face of ever-changing market conditions and the external environment. This level of adaptability and responsiveness needs to be supported by the architecture of the systems we create. The complexity of the environment that architects find themselves in is increasing in recent years, with the cloud, DevOps, continuous deployment, microservices, and other elements adding to the factors that architects must consider. With this growing complexity, architects need to be supported by effective decision-making approaches.
Size is also a factor. Larger systems and larger organizations have, by definition, a larger number of dependencies (internal and external) that must be managed and a larger number of stakeholders (internal and external) whose needs must be addressed. The architecture of larger systems can involve hundreds or thousands of people, creating dozens to hundreds of products, components, and subsystems that all need to work together. Maintaining the conceptual integrity of the architecture under such circumstances (and over time) presents many challenges and a greater need for coherence.
To navigate all of this, Agile architects need to be adaptive; they need the ability to dynamically shift their decision-making approach to match the complexity of the circumstances they face. Ken Power shares lessons from complexity science—in particular, sense making and the Cynefin framework—that can help architects to be more agile in how they work, and in turn, help them develop architectures that are more agile and adaptive to the needs of the organizations they serve.
Ken Power is a software engineer.
©2016, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org