Workshop - Building Evolutionary Architectures Hands-on

schedule Dec 4th 09:00 AM - 05:00 PM place Room 5 shopping_cart Reserve Seat

An evolutionary architecture supports incremental, guided change across multiple dimensions.

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. This workshop, based on recent book, investigates the family of software architectures that support evolutionary change, along with how to build evolvable systems. Understanding how to evolve architecture requires understanding how different parts of architecture interact; I describe how to achieve appropriate coupling between components and services. Incremental change is critical for the mechanics of evolution; I cover how to build engineering and DevOps practices to support continuous change. Uncontrolled evolution leads to undesirable side effects; I cover how fitness functions build protective, testable scaffolding around critical parts to guide the architecture as it evolves.

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. This hands-on workshop provides a high-level overview of a different way to think about software architecture.

 
1 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/Structure of the Workshop

Outline:

  • Evolutionary Architecture Defined
  • Fitness Functions
  • Exercise: Fitness Function Katas
  • Engineering Incremental change
  • Architectural Characteristics
  • Exercise: determine appropriate characteristics
  • Identifying Architectural Patterns
  • Exercise: components and patterns
  • Evaluating the Evolvability of Existing Architecture Styles
  • Retrofitting Existing Architectures
  • Building Evolvable Architectures
  • Automating Governance

Learning Outcome

— Architects will understand the characteristics of evolutionary architectures
— Developers and architects will understand how to use fitness functions to automate governance
— Architects will understand the architectural quantum measurement and how to apply it to restructuring architectures
— Architects will have experience via team-based exercises on how to define architectural fitness functions

Target Audience

Data Engineers, Data Scientists, Machine learning product team

schedule Submitted 8 months ago

Public Feedback

comment Suggest improvements to the Speaker