SlideShare a Scribd company logo
1 of 18
Download to read offline
Principles and Techniques of
Evolutionary Architecture
Rebecca Parsons
Chief Technology Officer
ThoughtWorks
Principles of evolutionary architecture
Why should I care?
Emergent design vs evolutionary
architecture
How to achieve an evolutionary
architecture in practice
Techniques of evolutionary architecture
Agenda
It’s harder to predict the future
Expectations for pace of change are
increasing rapidly
Business model lifetimes are shortening
If you miss your minute of fame...
Why Should I Care?
Evolutionary Architecture and Emergent
Design
Evolutionary versus Emergent
Design and Architecture
Design and
Architecture
Postel’s Law
Last responsible moment
Architect and develop for evolvability
Conway’s Law
Architect for testability
Principles of Evolutionary
Architecture
Minimizes technical debt from complexity
Delay decisions as long as you can, but no
longer
Maximizes the information you have
Evolutionary, neither emergent nor based
on guesswork
Decide early what your drivers are, and
prioritize decisions accordingly
Last Responsible
Moment
Consider data lifecycle and ownership
Sensible breakdown of functionality
Lightweight tooling and documentation
Appropriate coupling
Architect for
Evolvability
Software internal quality metrics focusing
on ease of change
Find hotspots and focus efforts there
Measure continually, focusing on trends
Develop for
Evolvability
Reversability
Only validate what you need
Be conservative in what you send
Be liberal in what you receive
Use version changes when a contract
must be broken
Holds for any information exchange
Postel’s Law
Business sensible components
Aiming towards testability produces a
well-architected system
Messaging infrastructure used for
messaging, not business logic
Build pipelines support the volume
Testing at many levels, including contract
Architect for
Testability
Broken communications imply complex
integration
Organization’s design systems reflecting
their communication structures
If you don’t want your product to look like
your organization, change your
organization (or your product)
Silos often result in broken communication
Conway’s Law
Database Refactoring
Continuous Delivery
Contract testing
Techniques
Changes compose in the same way
functions compose
De-compose big change into series of
small changes
Each change is a refactoring/migration
pair (or triple if you include access code)
And apply in the various environments
during promotion
And of course, version control the
changes
Database
Refactoring
Automate testing at all levels
Automate environments and configurations
Automate builds and deployments and use
continuous integration
Just because you CAN release at any
time doesn’t mean you HAVE to
Deployment should be boring!!
Continuous
Delivery
Maximizes parallel independent work
Acceptance tests at the systems’ interface
Documents assumptions made
One traditional role of Enterprise
Architect
Used in conjunction with Postel’s Law
Contract Testing
Understand various forms of technical
debt
Define your architectural fitness function
Delay your decisions as long as you can
Create and maintain the testing safety
net
Implement evidence based re-use
Evolutionary
Architecture
Thank you!
http://rebeccaparsons.com
http://www.thoughtworks.com

More Related Content

What's hot

What's hot (20)

Agile Architecture
Agile ArchitectureAgile Architecture
Agile Architecture
 
About DevOps in simple steps
About DevOps in simple stepsAbout DevOps in simple steps
About DevOps in simple steps
 
Introduction to Modern Software Architecture
Introduction to Modern Software ArchitectureIntroduction to Modern Software Architecture
Introduction to Modern Software Architecture
 
Scaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBeesScaling Enterprise DevOps with CloudBees
Scaling Enterprise DevOps with CloudBees
 
Reducing Technical Debt
Reducing Technical DebtReducing Technical Debt
Reducing Technical Debt
 
Implementing DevOps In Practice
Implementing DevOps In PracticeImplementing DevOps In Practice
Implementing DevOps In Practice
 
Innovate 2014 - DevOps Technical Strategy
Innovate 2014 - DevOps Technical StrategyInnovate 2014 - DevOps Technical Strategy
Innovate 2014 - DevOps Technical Strategy
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
DevOps Transformations
DevOps TransformationsDevOps Transformations
DevOps Transformations
 
Going the Next Step? Agile Values and Hardware Development by Urs Boehm
Going the Next Step? Agile Values and Hardware Development by Urs BoehmGoing the Next Step? Agile Values and Hardware Development by Urs Boehm
Going the Next Step? Agile Values and Hardware Development by Urs Boehm
 
Integrating Hardware (Waterfall) and Software (Agile) Development
Integrating Hardware (Waterfall) and Software (Agile) DevelopmentIntegrating Hardware (Waterfall) and Software (Agile) Development
Integrating Hardware (Waterfall) and Software (Agile) Development
 
Refactoring for Software Architecture Smells - International Workshop on Refa...
Refactoring for Software Architecture Smells - International Workshop on Refa...Refactoring for Software Architecture Smells - International Workshop on Refa...
Refactoring for Software Architecture Smells - International Workshop on Refa...
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Challenging The Role Of The Architect
Challenging The Role Of The ArchitectChallenging The Role Of The Architect
Challenging The Role Of The Architect
 
DevOps 101 for Government
DevOps 101 for GovernmentDevOps 101 for Government
DevOps 101 for Government
 
DevOps Overview
DevOps OverviewDevOps Overview
DevOps Overview
 
A Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio ManagementA Model-Based Systems Engineering Approach to Portfolio Management
A Model-Based Systems Engineering Approach to Portfolio Management
 
TDD - Cultivating a Beginner's Mind
TDD -  Cultivating a Beginner's MindTDD -  Cultivating a Beginner's Mind
TDD - Cultivating a Beginner's Mind
 
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
KEYNOTE | WHAT'S COMING IN THE NEXT 10 YEARS OF DEVOPS? // ELLEN CHISA, bolds...
 
DevOps
DevOpsDevOps
DevOps
 

Similar to Principles and Techniques of Evolutionary Architecture with Dr. Rebecca Parsons

Poised For Change
Poised For ChangePoised For Change
Poised For Change
rebeccajp42
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
Majong DevJfu
 
Agile brazil2013poised
Agile brazil2013poisedAgile brazil2013poised
Agile brazil2013poised
rebeccajp42
 
Improving The Software Development Lifecycle With Visual Studio Team System
Improving The Software Development Lifecycle With Visual Studio Team SystemImproving The Software Development Lifecycle With Visual Studio Team System
Improving The Software Development Lifecycle With Visual Studio Team System
matthewphillips
 
Synergy 7.0 Sales 10312008
Synergy 7.0 Sales 10312008Synergy 7.0 Sales 10312008
Synergy 7.0 Sales 10312008
Bill Duncan
 

Similar to Principles and Techniques of Evolutionary Architecture with Dr. Rebecca Parsons (20)

Evolutionary architecture
Evolutionary architectureEvolutionary architecture
Evolutionary architecture
 
Poised For Change
Poised For ChangePoised For Change
Poised For Change
 
Princípios de Arquitetura Evolutiva
Princípios de Arquitetura EvolutivaPrincípios de Arquitetura Evolutiva
Princípios de Arquitetura Evolutiva
 
The Role Of An Architect
The Role Of An ArchitectThe Role Of An Architect
The Role Of An Architect
 
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017
Creating a DevOps Practice for Analytics -- Strata Data, September 28, 2017
 
Software Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - DefinitionsSoftware Architecture Course - Part III Taxonomies - Definitions
Software Architecture Course - Part III Taxonomies - Definitions
 
Building Evolutionary Architectures - Rebecca Parsons
Building Evolutionary Architectures - Rebecca ParsonsBuilding Evolutionary Architectures - Rebecca Parsons
Building Evolutionary Architectures - Rebecca Parsons
 
02 architectures in_context
02 architectures in_context02 architectures in_context
02 architectures in_context
 
Agile brazil2013poised
Agile brazil2013poisedAgile brazil2013poised
Agile brazil2013poised
 
Improving The Software Development Lifecycle With Visual Studio Team System
Improving The Software Development Lifecycle With Visual Studio Team SystemImproving The Software Development Lifecycle With Visual Studio Team System
Improving The Software Development Lifecycle With Visual Studio Team System
 
The Modern Software Architect
The Modern Software ArchitectThe Modern Software Architect
The Modern Software Architect
 
Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)
 
Webinar - Design Thinking for Platform Engineering
Webinar - Design Thinking for Platform EngineeringWebinar - Design Thinking for Platform Engineering
Webinar - Design Thinking for Platform Engineering
 
Software Architecture: How Much Design?
Software Architecture: How Much Design?Software Architecture: How Much Design?
Software Architecture: How Much Design?
 
02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt02_Architectures_In_Context.ppt
02_Architectures_In_Context.ppt
 
Synergy 7.0 Sales 10312008
Synergy 7.0 Sales 10312008Synergy 7.0 Sales 10312008
Synergy 7.0 Sales 10312008
 
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...
Scrum Bangalore 18th Meetup - October 15, 2016 - Agile Architecture - Deepak ...
 
How to build successful blocks of DevOps
How to build successful blocks of DevOpsHow to build successful blocks of DevOps
How to build successful blocks of DevOps
 
How to build successful blocks of DevOps
How to build successful blocks of DevOpsHow to build successful blocks of DevOps
How to build successful blocks of DevOps
 
Phase Two: What’s Next for Life Sciences and Enterprise Content Management
Phase Two: What’s Next for Life Sciences and Enterprise Content ManagementPhase Two: What’s Next for Life Sciences and Enterprise Content Management
Phase Two: What’s Next for Life Sciences and Enterprise Content Management
 

Recently uploaded

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Principles and Techniques of Evolutionary Architecture with Dr. Rebecca Parsons

  • 1. Principles and Techniques of Evolutionary Architecture Rebecca Parsons Chief Technology Officer ThoughtWorks
  • 2. Principles of evolutionary architecture Why should I care? Emergent design vs evolutionary architecture How to achieve an evolutionary architecture in practice Techniques of evolutionary architecture Agenda
  • 3. It’s harder to predict the future Expectations for pace of change are increasing rapidly Business model lifetimes are shortening If you miss your minute of fame... Why Should I Care?
  • 4. Evolutionary Architecture and Emergent Design Evolutionary versus Emergent Design and Architecture Design and Architecture
  • 5. Postel’s Law Last responsible moment Architect and develop for evolvability Conway’s Law Architect for testability Principles of Evolutionary Architecture
  • 6. Minimizes technical debt from complexity Delay decisions as long as you can, but no longer Maximizes the information you have Evolutionary, neither emergent nor based on guesswork Decide early what your drivers are, and prioritize decisions accordingly Last Responsible Moment
  • 7. Consider data lifecycle and ownership Sensible breakdown of functionality Lightweight tooling and documentation Appropriate coupling Architect for Evolvability
  • 8. Software internal quality metrics focusing on ease of change Find hotspots and focus efforts there Measure continually, focusing on trends Develop for Evolvability
  • 10. Only validate what you need Be conservative in what you send Be liberal in what you receive Use version changes when a contract must be broken Holds for any information exchange Postel’s Law
  • 11. Business sensible components Aiming towards testability produces a well-architected system Messaging infrastructure used for messaging, not business logic Build pipelines support the volume Testing at many levels, including contract Architect for Testability
  • 12. Broken communications imply complex integration Organization’s design systems reflecting their communication structures If you don’t want your product to look like your organization, change your organization (or your product) Silos often result in broken communication Conway’s Law
  • 14. Changes compose in the same way functions compose De-compose big change into series of small changes Each change is a refactoring/migration pair (or triple if you include access code) And apply in the various environments during promotion And of course, version control the changes Database Refactoring
  • 15. Automate testing at all levels Automate environments and configurations Automate builds and deployments and use continuous integration Just because you CAN release at any time doesn’t mean you HAVE to Deployment should be boring!! Continuous Delivery
  • 16. Maximizes parallel independent work Acceptance tests at the systems’ interface Documents assumptions made One traditional role of Enterprise Architect Used in conjunction with Postel’s Law Contract Testing
  • 17. Understand various forms of technical debt Define your architectural fitness function Delay your decisions as long as you can Create and maintain the testing safety net Implement evidence based re-use Evolutionary Architecture