Continuous Delivery Maturity Model

5,713 views

Published on

How do measure our progress in a journey towards continuous integration? What are other people doing?

This presentation provides an measuring stick for CD Maturity and simple pattern for reviewing your current situation and deciding what to work on next.

Published in: Technology
0 Comments
14 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,713
On SlideShare
0
From Embeds
0
Number of Embeds
343
Actions
Shares
0
Downloads
260
Comments
0
Likes
14
Embeds 0
No embeds

No notes for slide
  • http://imagesfrombulgaria.com/v/Region_Kardzhali/Perunika_Village/Shanty.JPG.htmlhttp://upload.wikimedia.org/wikipedia/commons/thumb/9/9b/Suburban_tract_house.JPG/640px-Suburban_tract_house.JPG
  • Build: - Just get a clear audit trailDeployment - Middleware out of way - Push button - Actual worksTesting
  • Continuous Delivery Maturity Model

    1. 1. Continuous Delivery Maturity Model
    2. 2. UrbanCode Inc. ©2013 Who is that guy?  Techie at UrbanCode - (now IBM)  Working on CI & CD tools for the last 10 years.
    3. 3. 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
    4. 4. UrbanCode Inc. ©2013 Mature or crazy?
    5. 5. UrbanCode Inc. ©2013 Why a maturity model? How awesome is my team? Winning!
    6. 6. 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
    7. 7. UrbanCode Inc. ©2013 The Model
    8. 8. UrbanCode Inc. ©2013 Credit Where Due
    9. 9. UrbanCode Inc. ©2013 5 Levels Base Beginner Intermediate Advanced Extreme
    10. 10. UrbanCode Inc. ©2013 Four categories, held together with culture
    11. 11. UrbanCode Inc. ©2013 Build
    12. 12. UrbanCode Inc. ©2013 Dependencies are the hard part
    13. 13. UrbanCode Inc. ©2013 Deploying
    14. 14. 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
    15. 15. 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
    16. 16. UrbanCode Inc. ©2013 Most people fall into the Build + ADA pattern Pipeline here
    17. 17. UrbanCode Inc. ©2013 Measure & Test
    18. 18. UrbanCode Inc. ©2013
    19. 19. UrbanCode Inc. ©2013 Communication & Reports
    20. 20. UrbanCode Inc. ©2013 There are inter-dependencies
    21. 21. 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
    22. 22. UrbanCode Inc. ©2013 We’re not all the same
    23. 23. UrbanCode Inc. ©2013 Applying the Model
    24. 24. UrbanCode Inc. ©2013 Basic Plan  Audit where you are  Understand the pain points & bottlenecks  Agree on where you want to be  Prioritize
    25. 25. 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!
    26. 26. UrbanCode Inc. ©2013 Make it safe to go fast
    27. 27. UrbanCode Inc. ©2013 Audit for El Emeno  Build - Continuous integration (each team has own tool)
    28. 28. 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
    29. 29. 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
    30. 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  Measure & Test - 20% unit test coverage - Almost no functional tests - Security scanning tool run manually  Communicate - Silo’d and emailed with hand-off requests
    31. 31. 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
    32. 32. UrbanCode Inc. ©2013 Bottlenecks for El Emeno • Mostly okBuild • Need easy audit trail for approvals and deployments • Shared reporting a“nice-to-have” Communicate
    33. 33. 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
    34. 34. UrbanCode Inc. ©2013 Scoring current vs future 0 1 2 3 4 5 Build Deploy Testing Reporting Current Future Base Beginner Intermediate Advanced Extreme
    35. 35. UrbanCode Inc. ©2013 Prioritization: observations  Deploy & Test are biggest weaknesses - Development responsiveness is a strength  Testers are spending time de-bugging bad deployments
    36. 36. 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
    37. 37. UrbanCode Inc. ©2013 A simple maturity model Urbancode.com/resources
    38. 38. UrbanCode Inc. ©2013 What are you doing Monday? Download the Maturity Model and talk your team Are we where we need to be?
    39. 39. UrbanCode Inc. ©2013 What are you doing in two months?  Implementing updates to your Continuous Delivery capabilities
    40. 40. Thank you! @EricMinick Urbancode.com/resources/

    ×