SlideShare a Scribd company logo
1 of 42
Continuous Delivery
Maturity Model
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
Watch the video with slide
synchronization on InfoQ.com!
http://www.infoq.com/presentations
/continuous-delivery-model
Presented at QCon New York
www.qconnewyork.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
UrbanCode Inc. ©2013
Who is that guy?
 Techie at UrbanCode
- (now IBM)
 Working on CI & CD
tools for the last 10
years.
UrbanCode Inc. ©2013
IMVU’s Extreme CD: 1 App to Prod, 50 times / day
Build
Run thousands of tests
Deploy to some servers
Monitor
Deploy to remaining servers
UrbanCode Inc. ©2013
Mature or crazy?
UrbanCode Inc. ©2013
Why a maturity model?
How awesome is my team?
Winning!
UrbanCode Inc. ©2013
Why a maturity model?
 Where are we now?
 What are other people doing?
 Where do we want to be?
 How do we get there?
The future is here. It’s just not evenly distributed yet.”
- William Gibson
UrbanCode Inc. ©2013
The Model
UrbanCode Inc. ©2013
Credit Where Due
UrbanCode Inc. ©2013
5 Levels
Base
Beginner
Intermediate
Advanced
Extreme
UrbanCode Inc. ©2013
Four categories, held together with culture
UrbanCode Inc. ©2013
Build
UrbanCode Inc. ©2013
Dependencies are the hard part
UrbanCode Inc. ©2013
Deploying
UrbanCode Inc. ©2013
Big question: how do we coordinate components?
 Build Pipeline Tool
- Pressure development to adapt to this model
 CI tool + Application Deployment Automation Tool
- Add a tool that pulls from the various build systems
UrbanCode Inc. ©2013
When is each approach appropriate?
Pipeline
 Simple apps
 Low coupling between
components / services
 Tests validate ONE version
of ONE thing
 Shared tool ownership ok
Build + ADA
 More complex applications
 Higher coupling between
components / services
 Tests validate that the larger
system is working
 Dev wants to own build,
Ops wants to own deploy
UrbanCode Inc. ©2013
Most people fall into the Build + ADA pattern
Pipeline here
UrbanCode Inc. ©2013
Measure & Test
UrbanCode Inc. ©2013
UrbanCode Inc. ©2013
Communication & Reports
UrbanCode Inc. ©2013
There are inter-dependencies
UrbanCode Inc. ©2013
Standard Target
Based on this model, the standard target is:
 Continuous builds on a distributed grid using
dependency management
 Auto-deploy to the first environment
 Extensive testing of multiple types
 Test results and trends are widely visible
 Self-service deployments to other environments
- Production style deployments everywhere
- Deployments coordinate tiers/services as appropriate
UrbanCode Inc. ©2013
We’re not all the same
UrbanCode Inc. ©2013
Applying the Model
UrbanCode Inc. ©2013
Basic Plan
 Audit where you are
 Understand the pain points & bottlenecks
 Agree on where you want to be
 Prioritize
UrbanCode Inc. ©2013
Example Persona: El Emeno Investments
 Securities trading is a key profit center
 Fast updates desired
- Exploit transient opportunities
 Strict legal requirements & audits
♫
Audit RulesDelivery TeamBusiness
Faster!
Slow
down, be
careful!
UrbanCode Inc. ©2013
Make it safe to go fast
UrbanCode Inc. ©2013
Audit for El Emeno
 Build
- Continuous integration (each team has own tool)
UrbanCode Inc. ©2013
Audit for El Emeno
 Build
- Continuous integration (each team has own tool)
 Deployment
- Some scripts, mostly manual
- Hand-offs by email
- Coordination of components based on dev oral history
UrbanCode Inc. ©2013
Audit for El Emeno
 Build
- Continuous integration (each team has own tool)
 Deployment
- Some scripts, mostly manual
- Hand-offs by email
- Coordination of components based on dev oral history
 Measure & Test
- 20% unit test coverage
- Almost no functional tests
- Security scanning tool run manually
UrbanCode Inc. ©2013
Audit for El Emeno
 Build
- Continuous integration (each team has own tool)
 Deployment
- Some scripts, mostly manual
- Hand-offs by email
- Coordination of components based on dev oral history
 Measure & Test
- 20% unit test coverage
- Almost no functional tests
- Security scanning tool run manually
 Communicate
- Silo’d and emailed with hand-off requests
UrbanCode Inc. ©2013
Bottlenecks for El Emeno
• Manual regression tests are too
slow
• Never allocated enough time
• Environment outages problematic
Measure
• Manual / semi-scripted
deployments are slow
• Cost of compliance is high
• Errors in deployment are risky
Deployment
UrbanCode Inc. ©2013
Bottlenecks for El Emeno
• Mostly okBuild
• Need easy audit trail for
approvals and deployments
• Shared reporting a“nice-to-have”
Communicate
UrbanCode Inc. ©2013
Desired state
Today
 Build
- Continuous integration (each team
has own tool)
 Deployment
- Some scripts, mostly manual
- Hand-offs by email
- Coordination of components based
on dev oral history
 Measure / Test
- 20% unit test coverage
- Almost no functional tests
- Security scanning tool used& run
manually
 Communicate
- Silo’d and emailed with hand-off
requests
Future
 Build
- Good artifact management key
 Deployment
- Consistent self-service deploys in
all environments
- Integrated with approvals & good
audit trails
- Coordinate tiers & services
 Measure / Test
- Need regression testing of core
functionality
- Security scanning should happen
automatically
 Communicate
- Produce test, security scan, and
approval logs for releases
UrbanCode Inc. ©2013
Scoring current vs future
0
1
2
3
4
5
Build Deploy Testing Reporting
Current
Future
Base
Beginner
Intermediate
Advanced
Extreme
UrbanCode Inc. ©2013
Prioritization: observations
 Deploy & Test are biggest weaknesses
- Development responsiveness is a strength
 Testers are spending time de-bugging bad
deployments
UrbanCode Inc. ©2013
Prioritize: Plan of attack for El Emeno
1 Get deployments decent.
- Ensure we have an artifact repo for builds
2 Invest Dev & QA time savings into regression tests
3 Re-evaluate in 6-12 months
UrbanCode Inc. ©2013
A simple maturity model
Urbancode.com/resources
UrbanCode Inc. ©2013
What are you doing Monday?
Download the Maturity Model and talk your team
Are we where we need to be?
UrbanCode Inc. ©2013
What are you doing in two months?
 Implementing updates to your Continuous Delivery
capabilities
Thank you!
@EricMinick
Urbancode.com/resources/

More Related Content

Viewers also liked

Refactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech TalkRefactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech TalkGanesh Samarthyam
 
Why we used Feature Branching
Why we used Feature BranchingWhy we used Feature Branching
Why we used Feature BranchingAlan Parkinson
 
Requirement and Test for Continuous Delivery - Customer in focus at Scania Co...
Requirement and Test for Continuous Delivery - Customer in focus at Scania Co...Requirement and Test for Continuous Delivery - Customer in focus at Scania Co...
Requirement and Test for Continuous Delivery - Customer in focus at Scania Co...Jonatan Mossberg
 
Trunk Based Development (CBSoft 2011)
Trunk Based Development (CBSoft 2011)Trunk Based Development (CBSoft 2011)
Trunk Based Development (CBSoft 2011)Wildtech
 
Feature Toggle Examples
Feature Toggle ExamplesFeature Toggle Examples
Feature Toggle ExamplesWildtech
 
Feature Flags Are Flawed: Let's Make Them Better
Feature Flags Are Flawed: Let's Make Them BetterFeature Flags Are Flawed: Let's Make Them Better
Feature Flags Are Flawed: Let's Make Them BetterStephen Young
 
Strategies in continuous delivery
Strategies in continuous deliveryStrategies in continuous delivery
Strategies in continuous deliveryAviran Mordo
 
Feature flags to speed up & de risk development
Feature flags to speed up & de risk developmentFeature flags to speed up & de risk development
Feature flags to speed up & de risk developmentLaunchDarkly
 
Feature Flagging to Reduce Risk in Database Migrations
Feature Flagging to Reduce Risk in Database Migrations Feature Flagging to Reduce Risk in Database Migrations
Feature Flagging to Reduce Risk in Database Migrations LaunchDarkly
 
Feature Toggle XP Conference 2016 Kalpana Gulati
Feature Toggle  XP Conference 2016 Kalpana GulatiFeature Toggle  XP Conference 2016 Kalpana Gulati
Feature Toggle XP Conference 2016 Kalpana GulatiXP Conference India
 
Multiple projects, different goals, one thing in common: the codebase!
Multiple projects, different goals, one thing in common: the codebase!Multiple projects, different goals, one thing in common: the codebase!
Multiple projects, different goals, one thing in common: the codebase!Carlos Lopes
 
Waffle: A feature switch/flag/toggle application for Django
Waffle: A feature switch/flag/toggle application for DjangoWaffle: A feature switch/flag/toggle application for Django
Waffle: A feature switch/flag/toggle application for Djangotobych
 
Merge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescueMerge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescueLeena N
 
Trunk Based Development in the Enterprise - Its Relevance and Economics
Trunk Based Development in the Enterprise - Its Relevance and EconomicsTrunk Based Development in the Enterprise - Its Relevance and Economics
Trunk Based Development in the Enterprise - Its Relevance and EconomicsPerforce
 
Porque Odeio Branches
Porque Odeio BranchesPorque Odeio Branches
Porque Odeio BranchesRafael Petry
 
From Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsFrom Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsLuca Minudel
 

Viewers also liked (19)

Refactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech TalkRefactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech Talk
 
Why we used Feature Branching
Why we used Feature BranchingWhy we used Feature Branching
Why we used Feature Branching
 
Requirement and Test for Continuous Delivery - Customer in focus at Scania Co...
Requirement and Test for Continuous Delivery - Customer in focus at Scania Co...Requirement and Test for Continuous Delivery - Customer in focus at Scania Co...
Requirement and Test for Continuous Delivery - Customer in focus at Scania Co...
 
Trunk Based Development (CBSoft 2011)
Trunk Based Development (CBSoft 2011)Trunk Based Development (CBSoft 2011)
Trunk Based Development (CBSoft 2011)
 
Feature Toggle Examples
Feature Toggle ExamplesFeature Toggle Examples
Feature Toggle Examples
 
Feature Flags Are Flawed: Let's Make Them Better
Feature Flags Are Flawed: Let's Make Them BetterFeature Flags Are Flawed: Let's Make Them Better
Feature Flags Are Flawed: Let's Make Them Better
 
Strategies in continuous delivery
Strategies in continuous deliveryStrategies in continuous delivery
Strategies in continuous delivery
 
Feature Toggles
Feature TogglesFeature Toggles
Feature Toggles
 
Feature flags to speed up & de risk development
Feature flags to speed up & de risk developmentFeature flags to speed up & de risk development
Feature flags to speed up & de risk development
 
Feature Flagging to Reduce Risk in Database Migrations
Feature Flagging to Reduce Risk in Database Migrations Feature Flagging to Reduce Risk in Database Migrations
Feature Flagging to Reduce Risk in Database Migrations
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Feature Toggle XP Conference 2016 Kalpana Gulati
Feature Toggle  XP Conference 2016 Kalpana GulatiFeature Toggle  XP Conference 2016 Kalpana Gulati
Feature Toggle XP Conference 2016 Kalpana Gulati
 
Multiple projects, different goals, one thing in common: the codebase!
Multiple projects, different goals, one thing in common: the codebase!Multiple projects, different goals, one thing in common: the codebase!
Multiple projects, different goals, one thing in common: the codebase!
 
Waffle: A feature switch/flag/toggle application for Django
Waffle: A feature switch/flag/toggle application for DjangoWaffle: A feature switch/flag/toggle application for Django
Waffle: A feature switch/flag/toggle application for Django
 
Merge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescueMerge hells - Feature Toggles to the rescue
Merge hells - Feature Toggles to the rescue
 
Feature Toggles On Steroids
Feature Toggles On SteroidsFeature Toggles On Steroids
Feature Toggles On Steroids
 
Trunk Based Development in the Enterprise - Its Relevance and Economics
Trunk Based Development in the Enterprise - Its Relevance and EconomicsTrunk Based Development in the Enterprise - Its Relevance and Economics
Trunk Based Development in the Enterprise - Its Relevance and Economics
 
Porque Odeio Branches
Porque Odeio BranchesPorque Odeio Branches
Porque Odeio Branches
 
From Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsFrom Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOps
 

More from C4Media

Streaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoStreaming a Million Likes/Second: Real-Time Interactions on Live Video
Streaming a Million Likes/Second: Real-Time Interactions on Live VideoC4Media
 
Next Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileNext Generation Client APIs in Envoy Mobile
Next Generation Client APIs in Envoy MobileC4Media
 
Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020Software Teams and Teamwork Trends Report Q1 2020
Software Teams and Teamwork Trends Report Q1 2020C4Media
 
Understand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsUnderstand the Trade-offs Using Compilers for Java Applications
Understand the Trade-offs Using Compilers for Java ApplicationsC4Media
 
Kafka Needs No Keeper
Kafka Needs No KeeperKafka Needs No Keeper
Kafka Needs No KeeperC4Media
 
High Performing Teams Act Like Owners
High Performing Teams Act Like OwnersHigh Performing Teams Act Like Owners
High Performing Teams Act Like OwnersC4Media
 
Does Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaDoes Java Need Inline Types? What Project Valhalla Can Bring to Java
Does Java Need Inline Types? What Project Valhalla Can Bring to JavaC4Media
 
Service Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideService Meshes- The Ultimate Guide
Service Meshes- The Ultimate GuideC4Media
 
Shifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDShifting Left with Cloud Native CI/CD
Shifting Left with Cloud Native CI/CDC4Media
 
CI/CD for Machine Learning
CI/CD for Machine LearningCI/CD for Machine Learning
CI/CD for Machine LearningC4Media
 
Fault Tolerance at Speed
Fault Tolerance at SpeedFault Tolerance at Speed
Fault Tolerance at SpeedC4Media
 
Architectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsArchitectures That Scale Deep - Regaining Control in Deep Systems
Architectures That Scale Deep - Regaining Control in Deep SystemsC4Media
 
ML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsML in the Browser: Interactive Experiences with Tensorflow.js
ML in the Browser: Interactive Experiences with Tensorflow.jsC4Media
 
Build Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerBuild Your Own WebAssembly Compiler
Build Your Own WebAssembly CompilerC4Media
 
User & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleUser & Device Identity for Microservices @ Netflix Scale
User & Device Identity for Microservices @ Netflix ScaleC4Media
 
Scaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeScaling Patterns for Netflix's Edge
Scaling Patterns for Netflix's EdgeC4Media
 
Make Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereMake Your Electron App Feel at Home Everywhere
Make Your Electron App Feel at Home EverywhereC4Media
 
The Talk You've Been Await-ing For
The Talk You've Been Await-ing ForThe Talk You've Been Await-ing For
The Talk You've Been Await-ing ForC4Media
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Automated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreAutomated Testing for Terraform, Docker, Packer, Kubernetes, and More
Automated Testing for Terraform, Docker, Packer, Kubernetes, and MoreC4Media
 

More from C4Media (20)

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

Recently uploaded

React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 

Recently uploaded (20)

React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 

A Continuous Delivery Maturity Model

  • 2. 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 Watch the video with slide synchronization on InfoQ.com! http://www.infoq.com/presentations /continuous-delivery-model
  • 3. Presented at QCon New York www.qconnewyork.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
  • 4. UrbanCode Inc. ©2013 Who is that guy?  Techie at UrbanCode - (now IBM)  Working on CI & CD tools for the last 10 years.
  • 5. UrbanCode Inc. ©2013 IMVU’s Extreme CD: 1 App to Prod, 50 times / day Build Run thousands of tests Deploy to some servers Monitor Deploy to remaining servers
  • 7. UrbanCode Inc. ©2013 Why a maturity model? How awesome is my team? Winning!
  • 8. UrbanCode Inc. ©2013 Why a maturity model?  Where are we now?  What are other people doing?  Where do we want to be?  How do we get there? The future is here. It’s just not evenly distributed yet.” - William Gibson
  • 11. UrbanCode Inc. ©2013 5 Levels Base Beginner Intermediate Advanced Extreme
  • 12. UrbanCode Inc. ©2013 Four categories, held together with culture
  • 16. UrbanCode Inc. ©2013 Big question: how do we coordinate components?  Build Pipeline Tool - Pressure development to adapt to this model  CI tool + Application Deployment Automation Tool - Add a tool that pulls from the various build systems
  • 17. UrbanCode Inc. ©2013 When is each approach appropriate? Pipeline  Simple apps  Low coupling between components / services  Tests validate ONE version of ONE thing  Shared tool ownership ok Build + ADA  More complex applications  Higher coupling between components / services  Tests validate that the larger system is working  Dev wants to own build, Ops wants to own deploy
  • 18. UrbanCode Inc. ©2013 Most people fall into the Build + ADA pattern Pipeline here
  • 22. UrbanCode Inc. ©2013 There are inter-dependencies
  • 23. UrbanCode Inc. ©2013 Standard Target Based on this model, the standard target is:  Continuous builds on a distributed grid using dependency management  Auto-deploy to the first environment  Extensive testing of multiple types  Test results and trends are widely visible  Self-service deployments to other environments - Production style deployments everywhere - Deployments coordinate tiers/services as appropriate
  • 24. UrbanCode Inc. ©2013 We’re not all the same
  • 26. UrbanCode Inc. ©2013 Basic Plan  Audit where you are  Understand the pain points & bottlenecks  Agree on where you want to be  Prioritize
  • 27. UrbanCode Inc. ©2013 Example Persona: El Emeno Investments  Securities trading is a key profit center  Fast updates desired - Exploit transient opportunities  Strict legal requirements & audits ♫ Audit RulesDelivery TeamBusiness Faster! Slow down, be careful!
  • 28. UrbanCode Inc. ©2013 Make it safe to go fast
  • 29. UrbanCode Inc. ©2013 Audit for El Emeno  Build - Continuous integration (each team has own tool)
  • 30. UrbanCode Inc. ©2013 Audit for El Emeno  Build - Continuous integration (each team has own tool)  Deployment - Some scripts, mostly manual - Hand-offs by email - Coordination of components based on dev oral history
  • 31. UrbanCode Inc. ©2013 Audit for El Emeno  Build - Continuous integration (each team has own tool)  Deployment - Some scripts, mostly manual - Hand-offs by email - Coordination of components based on dev oral history  Measure & Test - 20% unit test coverage - Almost no functional tests - Security scanning tool run manually
  • 32. UrbanCode Inc. ©2013 Audit for El Emeno  Build - Continuous integration (each team has own tool)  Deployment - Some scripts, mostly manual - Hand-offs by email - Coordination of components based on dev oral history  Measure & Test - 20% unit test coverage - Almost no functional tests - Security scanning tool run manually  Communicate - Silo’d and emailed with hand-off requests
  • 33. UrbanCode Inc. ©2013 Bottlenecks for El Emeno • Manual regression tests are too slow • Never allocated enough time • Environment outages problematic Measure • Manual / semi-scripted deployments are slow • Cost of compliance is high • Errors in deployment are risky Deployment
  • 34. UrbanCode Inc. ©2013 Bottlenecks for El Emeno • Mostly okBuild • Need easy audit trail for approvals and deployments • Shared reporting a“nice-to-have” Communicate
  • 35. UrbanCode Inc. ©2013 Desired state Today  Build - Continuous integration (each team has own tool)  Deployment - Some scripts, mostly manual - Hand-offs by email - Coordination of components based on dev oral history  Measure / Test - 20% unit test coverage - Almost no functional tests - Security scanning tool used& run manually  Communicate - Silo’d and emailed with hand-off requests Future  Build - Good artifact management key  Deployment - Consistent self-service deploys in all environments - Integrated with approvals & good audit trails - Coordinate tiers & services  Measure / Test - Need regression testing of core functionality - Security scanning should happen automatically  Communicate - Produce test, security scan, and approval logs for releases
  • 36. UrbanCode Inc. ©2013 Scoring current vs future 0 1 2 3 4 5 Build Deploy Testing Reporting Current Future Base Beginner Intermediate Advanced Extreme
  • 37. UrbanCode Inc. ©2013 Prioritization: observations  Deploy & Test are biggest weaknesses - Development responsiveness is a strength  Testers are spending time de-bugging bad deployments
  • 38. UrbanCode Inc. ©2013 Prioritize: Plan of attack for El Emeno 1 Get deployments decent. - Ensure we have an artifact repo for builds 2 Invest Dev & QA time savings into regression tests 3 Re-evaluate in 6-12 months
  • 39. UrbanCode Inc. ©2013 A simple maturity model Urbancode.com/resources
  • 40. UrbanCode Inc. ©2013 What are you doing Monday? Download the Maturity Model and talk your team Are we where we need to be?
  • 41. UrbanCode Inc. ©2013 What are you doing in two months?  Implementing updates to your Continuous Delivery capabilities