Put open source to work
July 16–17, 2018: Training & Tutorials
July 18–19, 2018: Conference
Portland, OR

Building evolutionary architectures

Mike mgm@eskimoman.net (ThoughtWorks), Zhamak Dehghani (ThoughtWorks)
1:30pm5:00pm Tuesday, July 17, 2018
Evolutionary architecture
Location: Portland 251/252
Level: Intermediate
Average rating: ***..
(3.50, 8 ratings)

Who is this presentation for?

  • Architects, tech leads, and senior developers

Prerequisite knowledge

  • A basic understanding of architecture concepts

What you'll learn

  • Understand the principles of evolutionary architecture
  • Explore the role, use, and construction of architectural fitness functions
  • Learn how to transition to and govern in the world of evolutionary architecture

Description

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.

Outline:

  • Evolutionary architecture defined
  • Fitness functions
  • Hands-on exercise: Fitness function katas
  • Engineering incremental change
  • Architectural characteristics
  • Hands-on exercise: Determine appropriate characteristics
  • Retrofitting existing architectures
  • Building evolvable architectures
  • Automating governance
Photo of Mike mgm@eskimoman.net

Mike mgm@eskimoman.net

ThoughtWorks

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.

Photo of Zhamak Dehghani

Zhamak Dehghani

ThoughtWorks

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.