SlideShare a Scribd company logo
1 of 31
Evolutionary
Architecture
– Guiding Principles
CorkDev.io Feb 2016
Aidan Casey
chief architect MYOB Australia | @AIDANJCASEY | Microsoft Azure MVP
NO CODE
Unusable rolling pin © Giuseppe Colarusso
“The best architectures,
requirements, and designs
emerge from self-organizing
teams.”
-Agile Manefesto
In 2016 the most popular design
in software engineering is …
Big ball of mud symptoms
• Throwaway code
• Merciless deadlines
• Cut and paste
• Sheer neglect
• Afraid to change parts of the system
• Brittle / fragile tests
• Data shared promiscuously among distant parts of the
system
Guiding Principles
• Last Responsible Moment
• Continuous Integration
• Lightweight, Living Documentation
• Continuous Delivery
• Adapt for Organisational Structure
• Design for Replacability
Last Responsible
Moment
• Decisions made too early in a project are hugely risky
• Delay decisions as long as you can but no longer !
• Every additional tool / technology you add will slow you
down….
http://qualityswdev.com/2013/08/20/lean-startup-distilled/
How to absorb change
Continuous
Integration
• Without adequate tests your architecture won’t evolve freely
• Code coverage stats are absolutely useless !
• TDD – writing tests first changes the shape of your code…
• Be prepared to throw away old tests over time who cares !
• Code that is easier to test its easier to change, easier to understand
The simplest branching strategy ever!
• Use (VERY) short lived feature branches
• When you merge with master its ready for production
• Continuously deploy from master
Unit
API & integration
UI
faster,
more isolated
increased scope,
slower Manual
tests
Pact – Consumer Driven Contract Test
Lightweight, Living
Documentation
• agile does not mean doing no documentation !
• No technical discussions / decisions in emails !
• Prefer , wiki’s & collaborative tools – e.g. yammer / slack / confluence
• What to document
- System diagrams (napkin sketches)
- Design decisions
- Operational instructions
Continuous Delivery
• Embrace continuous delivery as an organisation
• Deployments should be boring !
• Feature Switches
• Takes the fear out of releasing software
• Forces you to deal with versioning API’s from the start
Adapt for
Organisational
Structure
Conway’s Law
“Organizations which design
systems ... are constrained to
produce designs which are copies of
the communication structures of
these organizations”
— M. Conway 1967
Two Pizza rule = better productivity
Design for
Replacability
Robustness
"Be liberal in what you accept, and
conservative in what you send“
- Jon Postel (God of the Internet)
Summary
• Last Responsible Moment
• Continuous Integration
• Lightweight, Living Documentation
• Continuous Delivery
• Adapt for Organisational Structure
• Design for Replacability

More Related Content

What's hot

30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to ProductionKarthik Gaekwad
 
Scaling a Start-up DevOps team to 10x while scaling the system 50x
Scaling a Start-up DevOps team to 10x while scaling the system 50x Scaling a Start-up DevOps team to 10x while scaling the system 50x
Scaling a Start-up DevOps team to 10x while scaling the system 50x Stefan Zier
 
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...WinOps Conf
 
cdSummit Austin - Jez Humble: CD Architecture
cdSummit Austin - Jez Humble: CD ArchitecturecdSummit Austin - Jez Humble: CD Architecture
cdSummit Austin - Jez Humble: CD ArchitectureMiles Blatstein
 
WinOps Conf 2015 - Steve Thair - Why we need a DevOps on Windows Conference
WinOps Conf 2015 - Steve Thair - Why we need a DevOps on Windows ConferenceWinOps Conf 2015 - Steve Thair - Why we need a DevOps on Windows Conference
WinOps Conf 2015 - Steve Thair - Why we need a DevOps on Windows ConferenceWinOps Conf
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyKelly Looney
 
Essential git for developers
Essential git for developersEssential git for developers
Essential git for developersAidan Casey
 
Jeffrey Snover - Empowering DevOps with Azure Stack
Jeffrey Snover - Empowering DevOps with Azure StackJeffrey Snover - Empowering DevOps with Azure Stack
Jeffrey Snover - Empowering DevOps with Azure StackWinOps Conf
 
RightScale Webinar: Continuous Integration and Delivery in the Cloud - How Ri...
RightScale Webinar: Continuous Integration and Delivery in the Cloud - How Ri...RightScale Webinar: Continuous Integration and Delivery in the Cloud - How Ri...
RightScale Webinar: Continuous Integration and Delivery in the Cloud - How Ri...RightScale
 
building microservices
building microservicesbuilding microservices
building microservicesCisco DevNet
 
Back To Basics
Back To BasicsBack To Basics
Back To Basicskamalikamj
 
Sam Guckenheimer - Moving to One Engineering System
Sam Guckenheimer - Moving to One Engineering SystemSam Guckenheimer - Moving to One Engineering System
Sam Guckenheimer - Moving to One Engineering SystemWinOps Conf
 
Kudu voodoo slideshare
Kudu voodoo   slideshareKudu voodoo   slideshare
Kudu voodoo slideshareAidan Casey
 
Achieving a Serverless Development Experience
Achieving a Serverless Development ExperienceAchieving a Serverless Development Experience
Achieving a Serverless Development ExperienceIvan Dwyer
 
DevOps Fundamentals: A perspective on DevOps Culture
DevOps Fundamentals: A perspective on DevOps Culture DevOps Fundamentals: A perspective on DevOps Culture
DevOps Fundamentals: A perspective on DevOps Culture CodeOps Technologies LLP
 
Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyw...
Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyw...Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyw...
Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyw...Gil Isaacs
 

What's hot (20)

DevOps Days Ohio
DevOps Days OhioDevOps Days Ohio
DevOps Days Ohio
 
Why to docker
Why to dockerWhy to docker
Why to docker
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to Production
 
London HUG 14/4 - Infratructure mgmt
London HUG 14/4 - Infratructure mgmtLondon HUG 14/4 - Infratructure mgmt
London HUG 14/4 - Infratructure mgmt
 
Scaling a Start-up DevOps team to 10x while scaling the system 50x
Scaling a Start-up DevOps team to 10x while scaling the system 50x Scaling a Start-up DevOps team to 10x while scaling the system 50x
Scaling a Start-up DevOps team to 10x while scaling the system 50x
 
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...
WinOps Conf 2016 - Gael Colas - Configuration Management Theory: Why Idempote...
 
cdSummit Austin - Jez Humble: CD Architecture
cdSummit Austin - Jez Humble: CD ArchitecturecdSummit Austin - Jez Humble: CD Architecture
cdSummit Austin - Jez Humble: CD Architecture
 
WinOps Conf 2015 - Steve Thair - Why we need a DevOps on Windows Conference
WinOps Conf 2015 - Steve Thair - Why we need a DevOps on Windows ConferenceWinOps Conf 2015 - Steve Thair - Why we need a DevOps on Windows Conference
WinOps Conf 2015 - Steve Thair - Why we need a DevOps on Windows Conference
 
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps JourneyGartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
Gartner Infrastructure and Operations Summit Berlin 2015 - DevOps Journey
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Essential git for developers
Essential git for developersEssential git for developers
Essential git for developers
 
Jeffrey Snover - Empowering DevOps with Azure Stack
Jeffrey Snover - Empowering DevOps with Azure StackJeffrey Snover - Empowering DevOps with Azure Stack
Jeffrey Snover - Empowering DevOps with Azure Stack
 
RightScale Webinar: Continuous Integration and Delivery in the Cloud - How Ri...
RightScale Webinar: Continuous Integration and Delivery in the Cloud - How Ri...RightScale Webinar: Continuous Integration and Delivery in the Cloud - How Ri...
RightScale Webinar: Continuous Integration and Delivery in the Cloud - How Ri...
 
building microservices
building microservicesbuilding microservices
building microservices
 
Back To Basics
Back To BasicsBack To Basics
Back To Basics
 
Sam Guckenheimer - Moving to One Engineering System
Sam Guckenheimer - Moving to One Engineering SystemSam Guckenheimer - Moving to One Engineering System
Sam Guckenheimer - Moving to One Engineering System
 
Kudu voodoo slideshare
Kudu voodoo   slideshareKudu voodoo   slideshare
Kudu voodoo slideshare
 
Achieving a Serverless Development Experience
Achieving a Serverless Development ExperienceAchieving a Serverless Development Experience
Achieving a Serverless Development Experience
 
DevOps Fundamentals: A perspective on DevOps Culture
DevOps Fundamentals: A perspective on DevOps Culture DevOps Fundamentals: A perspective on DevOps Culture
DevOps Fundamentals: A perspective on DevOps Culture
 
Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyw...
Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyw...Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyw...
Containers, Microsoft and DevOps: What is Microsoft Doing About All This Anyw...
 

Similar to Evolutionary architecture guiding principles

Architecting systems for continuous delivery
Architecting systems for continuous deliveryArchitecting systems for continuous delivery
Architecting systems for continuous deliveryMarcel de Vries
 
Design Systems: Enterprise UX Evolution
Design Systems: Enterprise UX EvolutionDesign Systems: Enterprise UX Evolution
Design Systems: Enterprise UX EvolutionAnne Grundhoefer
 
Agileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinarAgileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinarRoberto Jr. Figueroa
 
Understanding Microservices
Understanding Microservices Understanding Microservices
Understanding Microservices M A Hossain Tonu
 
Grokking microservices in 5 minutes
Grokking microservices in 5 minutesGrokking microservices in 5 minutes
Grokking microservices in 5 minutesAndrew Siemer
 
Evolving Architecture and Organization - Lessons from Google and eBay
Evolving Architecture and Organization - Lessons from Google and eBayEvolving Architecture and Organization - Lessons from Google and eBay
Evolving Architecture and Organization - Lessons from Google and eBayRandy Shoup
 
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...DevOps.com
 
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...TriNimbus
 
Devops - why, what and how?
Devops - why, what and how?Devops - why, what and how?
Devops - why, what and how?Malinda Kapuruge
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableComsysto Reply GmbH
 
The 7 deadly sins of micro services
The 7 deadly sins of micro servicesThe 7 deadly sins of micro services
The 7 deadly sins of micro servicesAidan Casey
 
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201Amazon Web Services
 
META for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motionMETA for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motionMatt McLarty
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyComsysto Reply GmbH
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyComsysto Reply GmbH
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsBrad Williams
 
Software Architecture Practices
Software Architecture PracticesSoftware Architecture Practices
Software Architecture PracticesSantosh Botre
 
Software architecture 4
Software architecture 4Software architecture 4
Software architecture 4Ahmad Zee
 

Similar to Evolutionary architecture guiding principles (20)

Architecting systems for continuous delivery
Architecting systems for continuous deliveryArchitecting systems for continuous delivery
Architecting systems for continuous delivery
 
Design Systems: Enterprise UX Evolution
Design Systems: Enterprise UX EvolutionDesign Systems: Enterprise UX Evolution
Design Systems: Enterprise UX Evolution
 
Agileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinarAgileand saas davepatterson_armandofox_050813webinar
Agileand saas davepatterson_armandofox_050813webinar
 
Understanding Microservices
Understanding Microservices Understanding Microservices
Understanding Microservices
 
Grokking microservices in 5 minutes
Grokking microservices in 5 minutesGrokking microservices in 5 minutes
Grokking microservices in 5 minutes
 
Evolving Architecture and Organization - Lessons from Google and eBay
Evolving Architecture and Organization - Lessons from Google and eBayEvolving Architecture and Organization - Lessons from Google and eBay
Evolving Architecture and Organization - Lessons from Google and eBay
 
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...
 
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
 
Devops - why, what and how?
Devops - why, what and how?Devops - why, what and how?
Devops - why, what and how?
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 
Agile engineering practices
Agile engineering practicesAgile engineering practices
Agile engineering practices
 
The 7 deadly sins of micro services
The 7 deadly sins of micro servicesThe 7 deadly sins of micro services
The 7 deadly sins of micro services
 
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
 
META for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motionMETA for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motion
 
No silver bullet
No silver bulletNo silver bullet
No silver bullet
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
ThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.jsThatConference 2016 - Highly Available Node.js
ThatConference 2016 - Highly Available Node.js
 
Software Architecture Practices
Software Architecture PracticesSoftware Architecture Practices
Software Architecture Practices
 
Software architecture 4
Software architecture 4Software architecture 4
Software architecture 4
 

More from Aidan Casey

The Agony and the Ecstasy of being Agile when the Schedule is Not
The Agony and the Ecstasy of being Agile when the Schedule is NotThe Agony and the Ecstasy of being Agile when the Schedule is Not
The Agony and the Ecstasy of being Agile when the Schedule is NotAidan Casey
 
Rise of the Machines - AI in the Agile World
Rise of the Machines - AI in the Agile WorldRise of the Machines - AI in the Agile World
Rise of the Machines - AI in the Agile WorldAidan Casey
 
Organisations must celebrate failure to achieve success
Organisations must celebrate failure to achieve successOrganisations must celebrate failure to achieve success
Organisations must celebrate failure to achieve successAidan Casey
 
Organisations must celebrate failure to achieve success
Organisations must celebrate failure to achieve success Organisations must celebrate failure to achieve success
Organisations must celebrate failure to achieve success Aidan Casey
 
Agile in the City London - creating a sense of purpose in agile teams
Agile in the City London - creating a sense of purpose in agile teamsAgile in the City London - creating a sense of purpose in agile teams
Agile in the City London - creating a sense of purpose in agile teamsAidan Casey
 
Creating a sense of purpose in agile teams
Creating a sense of purpose in agile teamsCreating a sense of purpose in agile teams
Creating a sense of purpose in agile teamsAidan Casey
 
Building mobile back ends with windows azure mobile services
Building mobile back ends with windows azure mobile servicesBuilding mobile back ends with windows azure mobile services
Building mobile back ends with windows azure mobile servicesAidan Casey
 
Cloud arena accelerate your mobile development
Cloud arena   accelerate your mobile developmentCloud arena   accelerate your mobile development
Cloud arena accelerate your mobile developmentAidan Casey
 
Windows azure mobile services from start to rest
Windows azure mobile services from start to restWindows azure mobile services from start to rest
Windows azure mobile services from start to restAidan Casey
 
A lap around AWS
A lap around AWS A lap around AWS
A lap around AWS Aidan Casey
 
Building node.js applications on windows azure
Building node.js applications on windows azureBuilding node.js applications on windows azure
Building node.js applications on windows azureAidan Casey
 
Myob beyond patents, practical ways to protect your software ip
Myob    beyond patents, practical ways to protect your software ipMyob    beyond patents, practical ways to protect your software ip
Myob beyond patents, practical ways to protect your software ipAidan Casey
 

More from Aidan Casey (12)

The Agony and the Ecstasy of being Agile when the Schedule is Not
The Agony and the Ecstasy of being Agile when the Schedule is NotThe Agony and the Ecstasy of being Agile when the Schedule is Not
The Agony and the Ecstasy of being Agile when the Schedule is Not
 
Rise of the Machines - AI in the Agile World
Rise of the Machines - AI in the Agile WorldRise of the Machines - AI in the Agile World
Rise of the Machines - AI in the Agile World
 
Organisations must celebrate failure to achieve success
Organisations must celebrate failure to achieve successOrganisations must celebrate failure to achieve success
Organisations must celebrate failure to achieve success
 
Organisations must celebrate failure to achieve success
Organisations must celebrate failure to achieve success Organisations must celebrate failure to achieve success
Organisations must celebrate failure to achieve success
 
Agile in the City London - creating a sense of purpose in agile teams
Agile in the City London - creating a sense of purpose in agile teamsAgile in the City London - creating a sense of purpose in agile teams
Agile in the City London - creating a sense of purpose in agile teams
 
Creating a sense of purpose in agile teams
Creating a sense of purpose in agile teamsCreating a sense of purpose in agile teams
Creating a sense of purpose in agile teams
 
Building mobile back ends with windows azure mobile services
Building mobile back ends with windows azure mobile servicesBuilding mobile back ends with windows azure mobile services
Building mobile back ends with windows azure mobile services
 
Cloud arena accelerate your mobile development
Cloud arena   accelerate your mobile developmentCloud arena   accelerate your mobile development
Cloud arena accelerate your mobile development
 
Windows azure mobile services from start to rest
Windows azure mobile services from start to restWindows azure mobile services from start to rest
Windows azure mobile services from start to rest
 
A lap around AWS
A lap around AWS A lap around AWS
A lap around AWS
 
Building node.js applications on windows azure
Building node.js applications on windows azureBuilding node.js applications on windows azure
Building node.js applications on windows azure
 
Myob beyond patents, practical ways to protect your software ip
Myob    beyond patents, practical ways to protect your software ipMyob    beyond patents, practical ways to protect your software ip
Myob beyond patents, practical ways to protect your software ip
 

Recently uploaded

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 

Recently uploaded (20)

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 

Evolutionary architecture guiding principles

Editor's Notes

  1. Always looking at new frameworks and most of us don’t spend enough time thinking about better ways to make software and teams work better
  2. Always looking at new frameworks and most of us don’t spend enough time thinking about better ways to make software and teams work better
  3. Despite the emergence of development methods that encourage and facilitate well-factored code, and the growth of the Software Craftsmanship movement, the Big Ball of Mud remains the most popular design for software, including greenfield development that has the full benefit of hindsight regarding the bad design approaches of the past.
  4. Here are a number of useful techniques and principles that will help you to maintain a clean architecture through the lifetime of your product.
  5. When we make decisions, delay then as long as possible but no longer ! The longer you wait the more you know, it minimises the Not about procrastination… Encorporating tools or technologies you don’t need slows you down Not all parts of your system need to be fully redundant , there is a cost you encur doing this etc.. Example – report designer – defer till a few forms built
  6. To absorb change and allow late decisions you need to build the smallest thing possible to gain more knowledge ( MCVP) Example stat reporter – report evaluation process is time comsuming so it needs to be queue based and asynchronous… no it doesn’t !
  7. Nothing builds or destroys agility more than a team’s commitment to continuous integration
  8. The Agile Manifesto prefers “working software over comprehensive documentation”. This doesn’t mean that you can ditch documentation entirely. Wiki’s living breathing
  9. The Agile Manifesto prefers “working software over comprehensive documentation”. This doesn’t mean that you can ditch documentation entirely. Wiki’s living breathing - Helps you get your thoughts straight by putting it down on paper Needs to be light enough if its any chance of surviving a project NEVER make important decisions in emails !
  10.  you should be looking for opportunities to split monolithic systems up around organizational boundaries ….. Who has lunch together, if as people they don’t talk to eachether their code wont either Broken communication results in silo’s… Don’t build silos based on technology into your organisation Having one group responsible for a piece of functionality E2E is the best
  11. Netflix and Amazon for example structure themselves around multiple small teams, each one with responsibility for a small part of the overall system. Two-Pizza Team Rule Works These independent teams can own the whole lifecycle of the services they create, affording them a greater degree of autonomy than is possible for larger teams with more monolithic codebases
  12. As soon as there is data in the message people rely on it and its harder to change… If all you need is a post code in an address then ignore the rest of the payload… Not all API’s need to be versioned the same way, who relies on it and who are the consumers, When it comes to exposing data you should expose the bare minimum and no more and you should version all message contracts. Conversely when consuming an API its best to ignore parts of the message you aren’t interested in, you don’t care if these change over time.