For many years, software architecture was described as the “parts that are hard to change later,” but then microservices showed that if architects build evolvability into the architecture, change becomes easier. Evolutionary architecture is an approach that supports incremental, guided change across multiple dimensions.
The software development ecosystem exists in a state of dynamic equilibrium, where any new tool, framework, or technique leads to disruption and the establishment of a new equilibrium. Predictability is impossible when the foundation architects plan against changes constantly in unexpected ways. Instead, prefer evolvability over predictability.
Mike Mason and Zhamak Dehghani explore the family of software architectures that support evolutionary change and demonstrate how to build evolvable systems. Understanding how to evolve architecture requires understanding how different parts of architecture interact. You’ll learn how to achieve appropriate coupling between components and services. And because incremental change is critical for the mechanics of evolution, Mike and Zhamak walk you through engineering and DevOps practices to support continuous change. Along the way, you’ll see how fitness functions build protective, testable scaffolding around critical parts to guide the architecture as it evolves.
Mike Mason is global head of technology at ThoughtWorks, where he is responsible for the company’s strategic technology direction, building its tech organization and capability, and ensuring the success of its client deliveries. Mike is passionate about bringing cutting-edge technology to bear on business problems and helping ThoughtWorks customers understand how tech can be a critical part of their business. He also advises ThoughWorks’s CTO and the global leadership team and defines and drives global technology initiatives. Mike contributes to ThoughtWorks’s Technology Radar, a twice-yearly publication that analyzes software industry tools and techniques.
Zhamak Dehghani is a principal technology consultant at ThoughtWorks focusing on distributed systems architecture and digital platform strategy in the enterprise. She is a member of the company’s Technology Advisory Board and contributes to the creation of ThoughtWorks’s Technology Radar.
©2018, 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. • email@example.com