SlideShare a Scribd company logo
Adopting Continuous
Delivery
Adjusting your Architecture

RACHEL LAYCOCK

http://thoughtworks.com
@rachellaycock
Watch the video with slide
synchronization on InfoQ.com!
http://www.infoq.com/presentations
/adopting-continuous-delivery

InfoQ.com: News & Community Site
• 750,000 unique visitors/month
• Published in 4 languages (English, Chinese, Japanese and Brazilian
Portuguese)
• Post content from our QCon conferences
• News 15-20 / week
• Articles 3-4 / week
• Presentations (videos) 12-15 / week
• Interviews 2-3 / week
• Books 1 / month
Presented at QCon San Francisco
www.qconsf.com
Purpose of QCon
- to empower software development by facilitating the spread of
knowledge and innovation
Strategy
- practitioner-driven conference designed for YOU: influencers of
change and innovation in your teams
- speakers and topics driving the evolution and innovation
- connecting and catalyzing the influencers and innovators
Highlights
- attended by more than 12,000 delegates since 2007
- held in 9 cities worldwide
Continuous Delivery
Our highest priority is to satisfy
the customer through early and
continuous delivery of
valuable software.
You can’t have
Continuous Delivery
Once upon a time I was
a happy developer...
I thought I knew what
Continuous Delivery was
I was even doing it on my
projects
Then one day...
...a client wanted
Continuous Delivery
...and we said “sure”
...but 3 months later they
were still asking...
“Where is my
Continuous Delivery?”
So what went wrong?
Their code base was
huge and complex
I learned something from
that...
...something I will share with
you
1. Conway’s Law is THE LAW
2. Keep things small
3. Evolve your architecture
agile 101
"Agile" team
Analysis + Design

Centralized QA

IT Operations

Development

Integration + QA

Release and operation

Testing + Showcase

Customer
Iteration

0

1

2

3

4

The "last mile"
continuous delivery
Customer

Delivery team

Constant flow of new features into production

software always production-ready
releases tied to business needs, not
operational constraints
releasing frequently
feedback from users
reduce risk of release

John Allspaw: “Ops Metametrics” http://slidesha.re/dsSZIr
releasing frequently
feedback from users
reduce risk of release
real project progress
CD is BIG!
Organisational Alignment

Release Management

Architecture

Quality
Assurance

Continuous
Integration

Configuration
Management

Data
Management

Environments
& Deployment
Stuff that's hard to
change
?
1. Conway’s Law is THE LAW
Conway's Law: "organisations which design
systems ... are constrained to designs which
are copies of the communication structures of
these organisations"
Fred Brooks (mythical man-month): “Because the design
that occurs first is almost never the best possible, the
prevailing system concept may need to change.
Therefore, flexibility of organisation is important to
effective design.”
The wrong side of the law
Some time passed...
Ball of Mud
Dependency Hell
dependencies
Reports engine

Framework

Settlement
engine

CDS pricing
library

Pricing engine

Portfolio
management
application
Brownfield
untangling
strangler pattern

http://paulhammant.com/2013/07/14/legacy-application-strangulation-case-studies/
feature toggles

http://martinfowler.com/bliki/FeatureToggle.html
branch by abstraction

http://continuousdelivery.com/wp-content/uploads/2011/05/branch_by_abstraction.png
The law on your side
***.com.au


***.com.us

Web


Services


Data


***.com.it
2. Keep things small
What is a 
Micro Service?

http://www.infoq.com/presentations/Micro-Services
The monolith
backlash
Simple and lightweight
Why we want them?
Things to consider...
Communication
Monitoring
Testing
Scripting
Replaceable
Services
3. Evolve your architecture
Evolutionary Architecture
& Emergent Design
Greenfield
Principles of
Evolutionary Architecture
1. Last Responsible Moment
2. Architect for Evolvability
3. Postel’s Law
4. Architect for Testability
5. Conway’s Law
1. Last Responsible Moment
2. Architect for Evolvability
3. Postel’s Law
4. Architect for Testability
5. Conway’s Law
1. Conway’s Law is THE LAW
2. Keep things small
3. Evolve your architecture
Adopting Continuous Delivery: Adjusting your Architecture
Architect for Build,
Run and Deploy
Thank you!
RACHEL LAYCOCK

http://thoughtworks.com
@rachellaycock
?
Resources
Books:
• Continuous Delivery - Jez Humble, Dave Farley
• Working Effectively with Legacy Code - Michael Feathers
• Release It - Michael Nygard
• Domain Driven Design - Eric Evans



Articles/Blogs:
• Branch by Abstraction - Jez Humble: 
http://continuousdelivery.com/2011/05/make-large-scale-changes-incrementally-with-branch-by-abstraction/
• Branch by Abstraction - Paul Hammant:
http://paulhammant.com/blog/branch_by_abstraction.html/
• Feature Toggles - Martin Fowler: http://martinfowler.com/bliki/FeatureToggle.html
• Evolutionary Architecture - Neal Ford: http://www.ibm.com/developerworks/views/java/libraryview.jsp?
search_by=evolutionary+architecture+emergent+design:
• Ball of Mud: http://www.laputan.org/mud/
• Deming - http://leanandkanban.wordpress.com/2011/07/15/demings-14-points/
• Coding Horror: http://www.codinghorror.com/blog/2007/11/the-big-ball-of-mud-and-other-architecturaldisasters.html
• Who needs an architect: http://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf
• Evolutionary Architecture and Emergent Design: http://www.ibm.com/developerworks/java/library/j-eaed1/
index.html
• Strangler Application: http://martinfowler.com/bliki/StranglerApplication.html
• Micro services: http://www.infoq.com/presentations/Micro-Services
Watch the video with slide synchronization on
InfoQ.com!
http://www.infoq.com/presentations/adoptingcontinuous-delivery

More Related Content

PPTX
Web 2.0 and the world of global collaboration v2010
PPT
Why Service Oriented Architecture DDD North 20151024
PPTX
Technical Debt
PDF
Escaping Dependency Hell
PDF
Working effectively with legacy code
ODP
Reversed Test Pyramid - Testing and dealing with Legacy Code
PPT
Working Effectively With Legacy Code
PDF
Legacy Code: Evolve or Rewrite?
Web 2.0 and the world of global collaboration v2010
Why Service Oriented Architecture DDD North 20151024
Technical Debt
Escaping Dependency Hell
Working effectively with legacy code
Reversed Test Pyramid - Testing and dealing with Legacy Code
Working Effectively With Legacy Code
Legacy Code: Evolve or Rewrite?

Similar to Adopting Continuous Delivery: Adjusting your Architecture (20)

PDF
QCon SF-feedback
PDF
Lava cIt All Comes Down to Return on Investment (ROI): How Content Strategy I...
PDF
TDC2020 - The microservice architecture: enabling rapid, reliable, frequent a...
PDF
ANIn Pune Sep 2024 | From Friction to Flow: Empowering Developers with IDP by...
PPTX
Modernize Development with Agile Engineering Practices
PDF
Lessons Learned on Uber's Journey into Microservices
PPTX
Discovering Microservices
PPTX
Cracking the Code of Managing The Chaos Of Everyday Project Management
PDF
Compliance and Governance Webinar
PDF
The Reality of Managing Microservices in Your CD Pipeline
PDF
Rebuilding the Monolith with Composable Apps
PDF
Take Two: Evolving Microservice Architectures
PDF
Mastering Chaos - A Netflix Guide to Microservices
PDF
Creative chaos overview code thinking
PDF
When Developers Operate and Operators Develop
PPTX
Appnovation Intro Deck
PDF
Configuration management intellavia_sept2010[1]
PDF
Computational Patterns of the Cloud
PPTX
CFPB Design Manual & Capital Framework at OSCON
PDF
Are We Really Cloud-Native?
QCon SF-feedback
Lava cIt All Comes Down to Return on Investment (ROI): How Content Strategy I...
TDC2020 - The microservice architecture: enabling rapid, reliable, frequent a...
ANIn Pune Sep 2024 | From Friction to Flow: Empowering Developers with IDP by...
Modernize Development with Agile Engineering Practices
Lessons Learned on Uber's Journey into Microservices
Discovering Microservices
Cracking the Code of Managing The Chaos Of Everyday Project Management
Compliance and Governance Webinar
The Reality of Managing Microservices in Your CD Pipeline
Rebuilding the Monolith with Composable Apps
Take Two: Evolving Microservice Architectures
Mastering Chaos - A Netflix Guide to Microservices
Creative chaos overview code thinking
When Developers Operate and Operators Develop
Appnovation Intro Deck
Configuration management intellavia_sept2010[1]
Computational Patterns of the Cloud
CFPB Design Manual & Capital Framework at OSCON
Are We Really Cloud-Native?
Ad

More from C4Media (20)

PDF
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
PDF
Next Generation Client APIs in Envoy Mobile
PDF
Software Teams and Teamwork Trends Report Q1 2020
PDF
Understand the Trade-offs Using Compilers for Java Applications
PDF
Kafka Needs No Keeper
PDF
High Performing Teams Act Like Owners
PDF
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
PDF
Service Meshes- The Ultimate Guide
PDF
Shifting Left with Cloud Native CI/CD
PDF
CI/CD for Machine Learning
PDF
Fault Tolerance at Speed
PDF
Architectures That Scale Deep - Regaining Control in Deep Systems
PDF
ML in the Browser: Interactive Experiences with Tensorflow.js
PDF
Build Your Own WebAssembly Compiler
PDF
User & Device Identity for Microservices @ Netflix Scale
PDF
Scaling Patterns for Netflix's Edge
PDF
Make Your Electron App Feel at Home Everywhere
PDF
The Talk You've Been Await-ing For
PDF
Future of Data Engineering
PDF
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Next Generation Client APIs in Envoy Mobile
Software Teams and Teamwork Trends Report Q1 2020
Understand the Trade-offs Using Compilers for Java Applications
Kafka Needs No Keeper
High Performing Teams Act Like Owners
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Service Meshes- The Ultimate Guide
Shifting Left with Cloud Native CI/CD
CI/CD for Machine Learning
Fault Tolerance at Speed
Architectures That Scale Deep - Regaining Control in Deep Systems
ML in the Browser: Interactive Experiences with Tensorflow.js
Build Your Own WebAssembly Compiler
User & Device Identity for Microservices @ Netflix Scale
Scaling Patterns for Netflix's Edge
Make Your Electron App Feel at Home Everywhere
The Talk You've Been Await-ing For
Future of Data Engineering
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Ad

Recently uploaded (20)

PDF
KodekX | Application Modernization Development
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Encapsulation theory and applications.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Cloud computing and distributed systems.
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
cuic standard and advanced reporting.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
KodekX | Application Modernization Development
Encapsulation_ Review paper, used for researhc scholars
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Encapsulation theory and applications.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Dropbox Q2 2025 Financial Results & Investor Presentation
Cloud computing and distributed systems.
Per capita expenditure prediction using model stacking based on satellite ima...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Network Security Unit 5.pdf for BCA BBA.
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Weekly Chronicles - August'25 Week I
cuic standard and advanced reporting.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Electronic commerce courselecture one. Pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx

Adopting Continuous Delivery: Adjusting your Architecture