Continuous Delivery Maturity Model

8,897 views

Published on

Continuous Delivery presents a compelling vision of builds that are automatically deployed and tested until ready for production.

Most teams aren't there yet. Some never want to go that far. Others want to push the envelope further.

This deck presents a model for scoring yourself on the continuum and examples of how companies can decide what parts of CD to adopt first, later and not at all.

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

No Downloads
Views
Total views
8,897
On SlideShare
0
From Embeds
0
Number of Embeds
92
Actions
Shares
0
Downloads
341
Comments
0
Likes
11
Embeds 0
No embeds

No notes for slide
  • CI is based on the observation that the longer development streams diverge, the more painful the eventual integration will be. Taking the converse of the above statement, the more frequently developers integrate their changes, the more painless those integrations will be
  • Continuous Delivery Maturity Model

    1. 1. Continuous Delivery Maturity Model Eric Minick, Lead Consultant1
    2. 2. Eric MinickLead Consultant • 8 Years at Urbancode • Commits on three generations of UC products • Experience as a Dev, Tester and build guy • Currently focused on best practices and industry trends2
    3. 3. The plan for today• Short Intro to Continuous Delivery• The Maturity Model – Building, Deploying, Testing, and Reporting• Applying the Model: Personas – El Emeno Investments: Balancing agility and control – All-Green United Systems: Large scale Scrum – Diversity Handhelds: Dozens of platforms• Additional Resources and Q&A3
    4. 4. The plan for today• Short Intro to Continuous Delivery• The Maturity Model• Appling the Model: Personas• Additional Resources and Q&A4
    5. 5. CI: it’s about Quality Determination• Integrating frequently is less painful than infrequently. – But, If we commit frequently blindly, we have a broken code base• Implied condition: each integration will not decrease the code quality. – This is the key to CI – The rest is implementation details.5 http://www.urbancode.com/blogs/anthillpro- blog/2011/09/07/continuous_integration_why_you_dont_really_get_it.html
    6. 6. Continuous Delivery: Beyond the Team Build• Continuation of the Quality Determination• Functional tests require deployment.• Progression through environments on a march to production, with “the build” subjected to more exhaustive tests in each environment.• Beyond the functional team, but also across projects Build & Deploy to Functional Deploy to Integration Deploy to Deploy to Unit Test DEV Tests SIT Tests UAT PROD6
    7. 7. Why a CD maturity model?• How mature are our Build, Deploy, Test practices?• Where can we get the most improvement based on our specific problems and needs?• How are other organizations solving these same problems? “The future is here. It’s just not evenly distributed yet.” – William Gibson7
    8. 8. Maturity Model: Parts and personasBuilding, Deploying, Testing, and Reporting – Base, Beginner, Intermediate, Advanced, Extreme• Industry Norm vs. Target – What do we see most people doing today? – A general target to shoot for (and how to pick a good target for your own team)8
    9. 9. Poll: Our CI or CD system handles:• Building our code (at least daily)• … and deploying after build• … and testing after deployment• … and reporting across building, deploying and testing• … and more!• We have no CI system9
    10. 10. Building10
    11. 11. Deploying11
    12. 12. Testing12
    13. 13. Reporting13
    14. 14. Standard TargetBased on this model, the standard target is:• Continuous builds on a distributed grid using dependency management• Builds automatically deployed to first test environment• Build runs extensive unit tests; extensive functional tests automatically executed in test environments• Test results and trends are widely visible and available• Information from the build system informs manual risk-based testing• Self-service deployments to other environments – Those deployments coordinated between tiers / services14
    15. 15. The plan for today• Short Intro to Continuous Delivery• The Maturity Model• Appling the Model: Personas• Additional Resources and Q&Aof platforms15
    16. 16. Apply the maturity model: Personas El Emeno Investments: Balancing agility & control All-Green United Systems: Large-scale Scrum Diversity Handhelds: Dozens of platforms16
    17. 17. Poll: Our main problem we hope CD can help with is:• Improving our delivery speed• Improving quality and compliance• Supporting multiple platforms or devices• Multiple of these• We have other problems• We have no problems17
    18. 18. El Emeno InvestmentsTrading system for securities – Time to market is a key competitive advantage – Strict legal requirements & auditsProblem: slow heavyweight process – Numerous sign-offs, handheld deployments, lengthy manual test cycle – Pressure to work overtime to compensate – Late mistakes in deployment – High turnover “How do we balance agility and control?”18
    19. 19. El Emeno Investments: DeployingNeeded automated, traceable deployments – Secure push-button deployments – Deploy to productionBenefits – Self-service deployments to test take pressure off release engineers – Using uniform automated deployments reduces errors & delays – Security and traceability make auditors happy Advanced level deployments19
    20. 20. El Emeno Investments: BuildingNeeded Audit Proof Builds – Automatic, Controlled Build Process – Builds stored in an artifact repository (ITIL: Definitive Software Library)Benefits – Clear understanding of what is in each build lowers risk – Supports accurate deployments by guaranteeing no changes to tested artifacts – Faster approvals and audits with lower risk of failure Beginner level builds with some Intermediate practices20
    21. 21. El Emeno Investments: TestingNeeded Rapid Regression Testing and Security – Automated unit tests of core functionality on all builds – Automated security scans of select buildsBenefits – Less time on manual regression testing allows quicker detection of problems in new functionality – Security scans lower business risk, increasing compliance Beginner level testing with advanced security scans21
    22. 22. El Emeno Investments: ReportingNeeded historic release information, consolidated reports – Audit log of who deployed what build where – Produce test, security scans, approval logs for releasesBenefits – Consolidating reports yields faster, easier audit compliance – Easy review of a build’s history reduces deployment errors – Risk is more easily assessed Intermediate level reporting22
    23. 23. El Emeno Investments: Results“How do we balance agility and control?” – Time to market is a key competitive advantage – Problem: slow, heavyweight process“Our continuous delivery system provides us anend-to-end automation across our build lifecycle.We now have a faster cycle time, fewer manualerrors and an easier time in audits.”23
    24. 24. All-Green United SystemsLarge global IT with business critical applications – Large scale scrum with cross-functional teams – Traditional integration QA & release engineering – Recent move to SOAProblem: releases are a bottleneck – Legacy “big bang” release process – Lack of synchronization across applications creates backlog – QA finding cross-team problems in integration testing – Apps fail in product, after appearing to work in QA “How do we realize the benefits of Scrum in a large organization?”24
    25. 25. All-Green United Systems: BuildingNeeded unification of build systems across scrum teams – Consolidate from numerous build systems to one build grid – Dependency management between components – Scrum of Scrums yields Build of BuildsBenefits – Build grid more efficiently uses hardware, lowering costs and improving response time – Build of Builds more quickly detects cross-team integration problems and improves component traceability – Single build system lowers learning curve when switching scrum teams Intermediate level building25
    26. 26. All-Green United Systems: DeploymentsNeeded to speed the release process to keep pace – Automated release across teams and environments – Coordination of SOA releases – Deploy what was tested – New applications with extensive testing using continuous deployment to productionBenefits – Unified deployment scripts avoid errors in production – Self-Service deployments remove burden from release engineers – Continuous deployment give some systems maximum throughput Advanced and Extreme level deployments26
    27. 27. All-Green United Systems: TestingNeeds vary by scrum team and application – Investment in expanded automatic testing focused on mission critical, frequently changing, and new applications – Component interfaces gain automated regression testsBenefits – Fewer breakages in shared components improves developer productivity – Mission critical applications gain stability, lowering risk of costly defects Varying levels of testing27
    28. 28. All-Green United Systems: ReportingNeeded better visibility between cooperating small teams – Consolidated build systems put all build information in one place – Include test and deployment reports in CD system – Trend report resultsBenefits – Reduced coordination overhead between scrum teams – Single report repository improves coordination between development and testing – Trending improves the scrum team’s understanding of how done they are Advanced level reporting28
    29. 29. All-Green United Systems: Results“How do we realize the benefits of Scrum in our organization?” – Large scale scrum with cross-functional teams – Problem: releases are a bottleneck“Our continuous delivery system allowed oursmall, globally distributed scrum teams tocooperate in large system builds automatically.By keeping the code integrated we eliminatedlate errors, improved coordination acrossteams, and eliminated our release bottleneck.”29
    30. 30. Diversity HandheldsSoftware platform for mobile devices – Partners work with device manufacturers – Each product ported across a wide range of platformsProblems: breaking existing ports & tracking build content – Porting to a new platform might break an inactive port; hard to track down cause later – Tracking deliverable contents manually is time consuming; hard for support to find information when needed“How can we reduce the cost of adding a new platform?”30
    31. 31. Diversity Handhelds: BuildingNeeded regular builds of many build configurations – Diverse, multi-platform, multi-tool chain build farm – Regular, automatic builds for all configurations – Upload of build product into build artifact repositoryBenefits – Building all configurations at least daily saves developer time with quick detection of platform specific compile problems – Support has easy access to builds delivered to customers – Automated Bill of Materials tracking reduces manual effort and errors. Intermediate level building31
    32. 32. Diversity Handhelds: TestingNeeds automated cross-platform testing – Extensive unit testing run regularly – Automated functional tests run in available, representative device simulators – Static analysis and security checks regularly runBenefits – Faster defect detection with shorter QA cycles leading to improved time to market – Lower risk of potentially expensive platform specific defects – Manual testing can find deep bugs rather than focus on smoke testing dozens of variants Advanced level testing32
    33. 33. Diversity Handhelds: DeploymentsNeeded deployments to simulators to support testing – Scheduled deployments integrated to build management and testingBenefits – Advanced testing that provides rapid feedback from functional testing is dependant on basic deployments Intermediate level deployments33
    34. 34. Diversity Handhelds: ReportingNeeded to understand stability and historical information – Gather build, various testing and release logs centrally – Align reports to individual builds – Maintain reports related to released builds through that version’s end of lifeBenefits – Provides data to support and engineering regarding what was tested on old releases customers have problems with – Lowers effort in understanding test results for wide array of platforms / configurations Advanced level reporting34
    35. 35. Diversity Handhelds: Result“How can we reduce the cost of adding a new platform?” – Partners work with device manufacturers – Problems: breaking existing ports & tracking build contents“Ourcontinuous delivery system handles ourwide-range of platforms and prevents our portsfrom going stale. Our bill-of-materials is nowgenerated automatically and our support peoplecan access historical information any time.”35
    36. 36. Key Takeaways• Technology built for “extreme” uses can be used by the rest of us• Select a final goal and immediate first steps• Interact across functional groups to project teams to determine larger needs36
    37. 37. The plan for today• Short Intro to Continuous Delivery• The Maturity Model• Appling the Model: Personas• Additional Resources and Q & A37
    38. 38. Four partMaturity Model38
    39. 39. More on CI, CD, and DevOpsWebinars and more: http://urbancode.com/resources• Deployment Automation Basics• Lean Techniques for Build & Deploy Automation• Enterprise DevOps: Scaling Build, Deploy, Test, ReleaseYou should follow us:Urbancode.com/blogs/Twitter.com/UrbanCodeSoftFacebook.com/UrbanCodeSoftSlideshare.net/UrbanCode39
    40. 40. Yes, UrbanCode is a CD vendor• uBuild(AnthillPro) – Continuous integration and simple CD• uDeploy – Deployment and release management• uCloud(soon) – Environment provisioning from your private cloud40
    41. 41. Questions? Request a copy of the slides or ask more questions eric@urbancode.com mbz@urbancode.com41

    ×