Continuous Delivery Maturity Model
-
Upload
ibm-urbancode-products -
Category
Technology
-
view
3.085 -
download
2
description
Transcript of Continuous Delivery Maturity Model
![Page 1: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/1.jpg)
Continuous Delivery Maturity Model
![Page 2: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/2.jpg)
UrbanCode Inc. ©2013
Who is that guy?
Techie at UrbanCode (now IBM)
Working on CI & CD tools for the last 10 years.
![Page 3: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/3.jpg)
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
![Page 4: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/4.jpg)
UrbanCode Inc. ©2013
Mature or crazy?
![Page 5: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/5.jpg)
UrbanCode Inc. ©2013
Why a maturity model?
Howawesomeismyteam?
Winning!
![Page 6: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/6.jpg)
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
![Page 7: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/7.jpg)
UrbanCode Inc. ©2013
The Model
![Page 8: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/8.jpg)
UrbanCode Inc. ©2013
Credit Where Due
![Page 9: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/9.jpg)
UrbanCode Inc. ©2013
5 Levels
Base
Beginner
Intermediate
Advanced
Extreme
![Page 10: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/10.jpg)
UrbanCode Inc. ©2013
Four categories, held together with culture
Cultu
reCommunicateMeasureDeployBuild
![Page 11: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/11.jpg)
UrbanCode Inc. ©2013
Build
![Page 12: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/12.jpg)
UrbanCode Inc. ©2013
Dependencies are the hard part
![Page 13: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/13.jpg)
UrbanCode Inc. ©2013
Deploying
![Page 14: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/14.jpg)
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
![Page 15: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/15.jpg)
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
![Page 16: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/16.jpg)
UrbanCode Inc. ©2013
Most people fall into the Build + ADA pattern
Pipeline here
![Page 17: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/17.jpg)
UrbanCode Inc. ©2013
Measure & Test
![Page 18: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/18.jpg)
UrbanCode Inc. ©2013
![Page 19: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/19.jpg)
UrbanCode Inc. ©2013
Communication & Reports
![Page 20: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/20.jpg)
UrbanCode Inc. ©2013
There are inter-dependencies
![Page 21: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/21.jpg)
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
![Page 22: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/22.jpg)
UrbanCode Inc. ©2013
We’re not all the same
![Page 23: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/23.jpg)
UrbanCode Inc. ©2013
Applying the Model
![Page 24: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/24.jpg)
UrbanCode Inc. ©2013
Basic Plan
Audit where you are Understand the pain points & bottlenecks Agree on where you want to be Prioritize
![Page 25: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/25.jpg)
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!
![Page 26: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/26.jpg)
UrbanCode Inc. ©2013
Make it safe to go fast
![Page 27: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/27.jpg)
UrbanCode Inc. ©2013
Audit for El Emeno
Build Continuous integration (each team has own tool)
![Page 28: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/28.jpg)
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
![Page 29: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/29.jpg)
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
![Page 30: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/30.jpg)
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
![Page 31: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/31.jpg)
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
![Page 32: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/32.jpg)
UrbanCode Inc. ©2013
Bottlenecks for El Emeno
• Mostly okBuild
• Need easy audit trail for approvals and deployments
• Shared reporting a“nice-to-have”
Communicate
![Page 33: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/33.jpg)
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
![Page 34: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/34.jpg)
UrbanCode Inc. ©2013
Scoring current vs future
Build Deploy Testing Reporting0
1
2
3
4
5
CurrentFuture
Base
Beginner
Intermediate
Advanced
Extreme
![Page 35: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/35.jpg)
UrbanCode Inc. ©2013
Prioritization: observations
Deploy & Test are biggest weaknesses Development responsiveness is a strength
Testers are spending time de-bugging bad deployments
![Page 36: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/36.jpg)
UrbanCode Inc. ©2013
Prioritize: Plan of attack for El Emeno1 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
![Page 37: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/37.jpg)
UrbanCode Inc. ©2013
A simple maturity model
Urbancode.com/resources
![Page 38: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/38.jpg)
UrbanCode Inc. ©2013
What are you doing Monday?
Download the Maturity Model and talk your team
Are we where we need to be?
![Page 39: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/39.jpg)
UrbanCode Inc. ©2013
What are you doing in two months?
Implementing updates to your Continuous Delivery capabilities
![Page 40: Continuous Delivery Maturity Model](https://reader036.fdocuments.in/reader036/viewer/2022081421/554f9144b4c905d25b8b51fc/html5/thumbnails/40.jpg)
Thank you!
@EricMinickUrbancode.com/resources/