Four Quadrants of DevOps Maturity Brian Dawson
Jenkins World
#JenkinsWorld Jenkins World
Four Quadrants of DevOps Maturity Brian Dawson DevOps Evangelist, CloudBees Inc. @brianvdawson [email protected]
#JenkinsWorld Introduction Jenkins World
Background: • QA, Development, Sys Admin, Development Management, etc • Software development optimization – 1990s o Graphics pipeline optimization o Tools and middleware – Early 2000’s o OSS practices – Late 2000’s o Process consulting o CI, CD, and DevOps transformation practice • Knowledge redistribution = IT Socialist
#JenkinsWorld Session Goals Jenkins World
• Review the definition of DevOps and it’s relationship to continuous delivery (CD).
• Explore a simple, lightweight model for measuring organizational DevOps maturity
• Leave inspired with new ideas on implementing CD and DevOps
#JenkinsWorld Jenkins World
Continuous Delivery, DevOps, and the Market
#JenkinsWorld Jenkins World
“Software is eating the world.” “Every business is in the software business.”
“It’s an application economy.” #JenkinsWorld 6 Jenkins World
#JenkinsWorld 7 Jenkins World
#JenkinsWorld h ps://www.perforce.com/pdf/con nuous-delivery-report.pdf 8 Agile, CI, Continuous Delivery and DevOps
Jenkins World
continuous continuous agile continuous integration delivery deployment
DevOps → Cultural approaches & technical practices
#JenkinsWorld #JenkinsWorld 9 Agile, CI, Continuous Delivery and DevOps
Jenkins World Rapid Changes User Feedback
Continuous Continuous AGILE Continuous Integration Delivery Deployment An incremental approach to Software changes
Discipline Discipline Software changes identifying, Automated commit, build and testing of continuously delivered to prioritizing, and continuously code in the development environment stakeholders in any coordinating feature deployed to live environment development production
Development Production / Prod-like Live Production Env. Env. Upstream (left) Downstream (right)
Stage Define Plan Code Commit Build Non-Func Test Scan Integrate Int. Test Package Deploy Acct. Test Load Test Release Deploy Monitor DevOps → Cultural approaches & technical practices Change Mgt. Production Bugs
#JenkinsWorld #JenkinsWorld 10 © 2016 CloudBees,CONTINUOUS Inc. All Rights Reserved DELIVERY DevOps Word DevOps Soup 11 NEXUS SCRUM SCRUM GIT CONTINUOUS CONTINUOUS DEPLOYMENT
MICROSERVICES MICROSERVICES
DEVOPS DEVSECOPS DEVSECOPS
SECOPSSTOP THE LINE
DEVOPS KANBAN KANBAN
SUBVERSION MICROSERVICES MICROSERVICES CONTINUOUS CONTINUOUS IMPROVEMENT LEAN PERFORCE
PERFECTO MOBILE GITLAB
PAAS SCRUM SCRUM TEST AUTOMATION BLAZE METER CONTINOUS INTEGRATION
XP SCRUM SCRUM
SCMGIT VM
CONTINUOUS DELIVERY RELIC NEW 11 JENKINS © 2016 CloudBees, Inc. All Rights Reserved LOAD CONTINUOUS DELIVERYOVER DevOps Word DevOps Soup NEXUS12 SCRUM SCRUM GIT CONTINUOUS CONTINUOUS DEPLOYMENT
MICROSERVICES MICROSERVICES
DEVOPS DEVSECOPS DEVSECOPS
SECOPSSTOP THE LINE
DEVOPS KANBAN KANBAN
SUBVERSION MICROSERVICES MICROSERVICES CONTINUOUS CONTINUOUS IMPROVEMENT LEAN PERFORCE
PERFECTO MOBILE GITLAB
PAAS SCRUM SCRUM TEST AUTOMATION BLAZE METER CONTINOUS INTEGRATION
XP SCRUM SCRUM
SCMGIT VM
CONTINUOUS DELIVERY RELIC NEW 12
JENKINS © 2016 CloudBees, Inc. All Rights Reserved 13 MAKE IT SIMPLE.BUT IT’SWORTH IT IN COMPLEX: HAVE YOU TO HARD WORK THERE, MOUNTAINS.MOVE CAN YOU TO GET YOUR THINKING CLEAN TO TO CLEAN THINKING YOUR GET TO THE END BECAUSE ONCE ONCE BECAUSE END THE GET YOU SIMPLE CANBEHARDER THAN -Steve Jobs -Steve 13
© 2016 CloudBees, Inc. All Rights Reserved 14 WHERE ARE WE? SIMPLIFY
WHERE ARE WE GOING? WE
HOW DO WE DO HOW GET THERE?
14 Jenkins World
Introducing the 4Qs of CD and DevOps Maturity
#JenkinsWorld The 4Qs Quadrants Model Jenkins World
• Simplified model for assessing, and discussing DevOps transformations
• Derived from and applied in real-world DevOps transformations
• Flexible vs rigid, allows for subjective definition of maturity
• Extensible as method of driving, monitoring and measuring transformation
#JenkinsWorld 16 X-Axis: SDLC Phases Jenkins World
Upstream Downstream
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld 17
Source: February 5, 2014, “How Can You Scale Your Agile Adoption?” Forrester report X-Axis: SDLC Phases Jenkins World
Agile Agile Upstream Downstream
33% 13%
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld 18
Source: February 5, 2014, “How Can You Scale Your Agile Adoption?” Forrester report Cycle Times: Non-Agile Jenkins World
Non-Agile Non-Agile Upstream Downstream
67% 87%
Week to Months
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld
19 Cycle Times: Non-Agile Jenkins World
Non-Agile Non-Agile Upstream Downstream
67% 87%
Week to Months Weeks to Months
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld
20 Cycle Times: Non-Agile Jenkins World Time-to-Market >Months
Non-Agile Non-Agile Upstream Downstream
67% 87%
Week to Months Weeks to Months
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld
21 Cycle Times: Mixed Streams Jenkins World
Agile Non-Agile Upstream Downstream
33% 87%
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld
22 Cycle Times: Mixed Streams Jenkins World
Agile Upstream
33%
Weeks, Days or Hours
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld
23 Cycle Times: Mixed Streams Jenkins World
Agile Non-Agile Upstream Downstream
33% 87%
Weeks to Months Weeks, Days or Hours
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld
24 Cycle Times: Mixed Streams Jenkins World Time-to-Market > Months
Agile Non-Agile Upstream Downstream
33% 87%
Weeks to Months Weeks, Days or Hours
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld 25 Cycle Times: Continuous Flow Jenkins World
Agile Agile Upstream Downstream
Time-to-Market = Week, Days, or Hours
Weeks, Days or Hours Weeks, Days or Hours
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld
26 Y-Axis: Levels of adoption Jenkins World
Enterprise Enterprise Enterprise Agile Upstream 22% DevOps 10% Workgroup Agile Agile Upstream 33% Downstream 13% Team
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld
27
Source: February 5, 2014, “How Can You Scale Your Agile Adoption?” Forrester report Cycle Times: Non-Enterprise Scale Jenkins World
Non-Enterprise Non-Enterprise Enterprise Agile Upstream 88% DevOps 90%
Group 4 - Waterfall
Workgroup Group 3 – Team Agile
Group 2 – Team Agile
Group 1 - Team Continuous Delivery Team
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld 28 Issues with non-scaled development and delivery Jenkins World
• Higher tools and infrastructure costs • Lack of shared best practices • Lack of visibility and metrics • Inconsistent security and compliance
#JenkinsWorld 29 The Destination Jenkins World Enterprise DevOps
• Innovate faster • Respond to market
Enterprise Enterprise • Gain compe ve advantage Agile Upstream 22% • Increased produc vity • Employee sa sfac on and reten on Workgroup Agile Agile Upstream 33% Downstream 13% Team
Define Plan Code Build Integrate Test Release Deploy Operate #JenkinsWorld #JenkinsWorld 30 The Trinity and the Chasms Jenkins World
Upstream Downstream People & Move Fast, Innovate Maintain Quality Stability, Uptime Culture
Process & Agile, Scrum, Kanban PMBOK, ITIL, Waterfall Practices
Tools & Point Tools, Enterprise Class, Corp. Technology Grassroots, Rapid Change Procurement, Stable
Define Plan Code Build Integrate Test Release Deploy Operate #JenkinsWorld #JenkinsWorld 31 The Quadrants Jenkins World
Quadrant 3: Quadrant 4: Enterprise Enterprise Enterprise Agile DevOps
Workgroup Quadrant 1: Quadrant 2: Team-level Team-level Agile CD Team
Define Plan Code Build Integrate Test Release Deploy Operate #JenkinsWorld #JenkinsWorld 32 Quadrant 1: Team-Level Agile Jenkins World
• Standard enterprise-wide itera ve/Agile development prac ces • Enterprise support for “cloud” with standard tools and process • Business aligned with agile specifica on for automated test, dynamically provisioned environments, immutable infrastructure, IaC… • Common PM and Dev process Enterprise • Business and customers aligned with itera ve agile defini on • Team-level tools and delivery process and delivery • Tools integra on to common pla orm suppor ng repor ng and + Team(s) adopt agile development practicesmetrics, security, governance, and traceability • Culture of learning and innova on + Development team(s) independently leverage CI • Team(s) adopt itera ve/Agile development prac ces • Specific applica ons supported by automated test, dynamically - provision environments, immutable infrastructure or IaC… Workgroup • Development team(s) independently leverage CI Team-level tools integration • Team-level tools integra on • Team CI extended to CD - • Team specific PM and Dev process Team specific project mgmt. and dev. •processes Team-level tools integra on w/Delivery tools • Water-scrum-fall approach • Ops alignment with PM and Dev process as team specific “one- - Water-Scrum-Fall approach off” Team
Define Plan Code Build Integrate Test Release Deploy Operate #JenkinsWorld #JenkinsWorld 33 Quadrant 2: Team-Level CD Jenkins World
• Standard enterprise-wide itera ve/Agile development prac ces • Enterprise support for “cloud” with standard tools and process • Business aligned with agile specifica on for automated test, dynamically provisioned environments, immutable infrastructure, IaC… • Common PM and Dev process Enterprise • Business and customers aligned with itera ve agile defini on • Team-level tools and delivery process and delivery + Specific applications• Tools integra on to common pla orm suppor ng repor ng and supported by automated test, dynamicallymetrics, security, governance, and traceability provisioned environments, configuration• mgmt,Culture of learning and innova on containers… • Team(s) adopt itera ve/Agile development prac ces • Specific applica ons supported by automated test, dynamically + Team CI extendedprovision environments, immutable infrastructure or IaC… to CD Workgroup • Development team(s) independently leverage CI • • Team CI extended to CD Team-level tools integra on + Team-level dev. tools integration to delivery tools • Team specific PM and Dev process • Team-level tools integra on w/Delivery tools • Water-scrum-fall approach • Ops alignment with PM and Dev process as team specific “one- - Ops alignmentoff” with project mgmt. and dev. process as team specific “one-offs” Team
Define Plan Code Build Integrate Test Release Deploy Operate #JenkinsWorld #JenkinsWorld 34 Quadrant 3: Enterprise Agile Jenkins World
• Standard enterprise-wide itera ve/Agile development prac ces • Enterprise support for “cloud” with standard tools and process • Business aligned with agile specifica on for automated test, dynamically provisioned environments, + immutable infrastructure, IaC… • Common PM and Dev process Standard enterprise-wide agile development Enterprise practices • Business and customers aligned with itera ve agile defini on • Team-level tools and delivery process and delivery + Business aligned with agile specification• Tools integra on to common pla orm suppor ng repor ng and metrics, security, governance, and traceability Common project mgmt. and dev. process• Culture of learning and innova on
• Team(s) adopt itera ve/Agile development prac ces • Specific applica ons supported by automated test, dynamically - Team-level dev tools supporting deliveryprovision environments, immutable infrastructure or IaC… process Workgroup • Development team(s) independently leverage CI • • Team CI extended to CD Team-level tools integra on - Team-level tools integration • Team specific PM and Dev process • Team-level tools integra on w/Delivery tools • Water-scrum-fall approach • Ops alignment with PM and Dev process as team specific “one- off” Team
Define Plan Code Build Integrate Test Release Deploy Operate #JenkinsWorld #JenkinsWorld 35 Quadrant 4: Enterprise DevOps Jenkins World
• Standard enterprise-wide itera ve/Agile development prac ces • Enterprise support for “cloud” with standard tools and process • Business aligned with agile specifica on for automated test, dynamically provisioned environments, + Standard toolsimmutable infrastructure, IaC… and process for automated test and • Common PM and Dev process Enterprise deployment, dynamically• Business and customers aligned with itera ve agile defini on provisioned environments, • Team-level tools and delivery process containers, Infrastructure-as-a-Service…and delivery • Tools integra on to common pla orm suppor ng repor ng and + Business andmetrics, security, governance, and traceability customers aligned with agile definition and delivery • Culture of learning and innova on
• Team(s) adopt itera ve/Agile development prac ces + Tools integration• Specific applica ons supported by automated test, dynamically to common platform supporting provision environments, immutable infrastructure or IaC… Workgroup • Development team(s) independently leverage CI reporting and metrics, security, governance and • Team-level tools integra on traceability • Team CI extended to CD • Team specific PM and Dev process • Team-level tools integra on w/Delivery tools • Water-scrum-fall approach + Culture of collaboration,• Ops alignment with PM and Dev process as team specific “one- learning and innovation off” Team
Define Plan Code Build Integrate Test Release Deploy Operate #JenkinsWorld #JenkinsWorld 36 Jenkins World
Survey: https://www.surveymonkey.com/r/4Qs-Survey
#JenkinsWorld Jenkins World
Which quadrant are you in?
#JenkinsWorld 38 Jenkins World
Which quadrant do you want to be in?
#JenkinsWorld 39 Jenkins World
4Qs and Industry Adoption Patterns
#JenkinsWorld 40 Adoption Patterns Ex: #3 Jenkins World
Agile > CD > Enterprise Agile > DevOps 1. Team(s) adopt agile planning and project management 2. Team(s) extend CI to Continuous Delivery 3. Organization implements agile 4. Organization aligns on DevOps strategy with teams using common CI/CD process and tools
#JenkinsWorld #JenkinsWorld Jenkins World
Crossing the Chasms with Tools and Technology
#JenkinsWorld 42 Tools as the Foundation Jenkins World
Upstream Downstream People & Move Fast, Innovate Maintain Quality Stability, Uptime Culture
Process & Agile, Scrum, Kanban PMBOK, ITIL, Waterfall Practices
Tools & Point Tools, Enterprise Class, Corp. Technology Grassroots, Rapid Change Procurement, Stable
Define Plan Code Build Integrate Test Release Deploy Operate #JenkinsWorld #JenkinsWorld DevOps Trinity and Tools Jenkins World
• People, Process and Tools
• DevOps (practically) requires automation
• Automation requires tooling
• Tools are the most quantifiable
• Starting point and foundation
#JenkinsWorld Tools & Technologies enable “crossing the chasm” Jenkins World Increase Confidence In Rich Integration Downstream Scale To Normalized Support Automated Deliverables Enterprise
ü Language and ü Tools as ü Repeatability ü Support supply- ü Cross-domain practice agnostic microservices ü Reportability chain visibility metrics ü Not Dev or Ops ü Modular ü Flexibility ü Traceability ü Security and specific ü Immutability governance ü Distributed ü Measure and ü Supported report
#JenkinsWorld #JenkinsWorld
45 Solution Soup Jenkins World
APM Chat LDAP Helpdesk
HP OO Execu ve PPM
HP ALI XL Release Miscellaneous ALM Solutions Nolio
Rally Chef
Workgroup Puppet Jira Nexus
Misc Point Solutions Docker SVN Git Selenium
Team TestLink
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld
46 Integrate and Automate Jenkins World
Service Desk Product Portfolio Execu ve Application Performance Mgt LDAP, SAML Workgroup
… … … Git Git Jira, Chat, Make, Maven.. Maven.. Eclipse, Eclipse, HPOO HPOO Jenkins, Logging, Solutions Solutions Solutions Solutions Selenium, Selenium, TestLink Monitoring Monitoring Misc Point MiscPoint Jenkins, CI XL Release, XL Release, XL TeamForge.. TeamForge.. IntelliJ, SVN, IntelliJ, Team
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld 47 Security, Scalability and Manageability Jenkins World
Reporting and Analytics Enterprise
Security and Access Controls
Shared Infrastructure – Containers or IaC
Supply Chain Managment
Integrate and Automate Workgroup
… … … Git Git Chat, JIRA, JIRA, Make, Maven.. Maven.. Eclipse, Jenkins, Solutions Solutions Logging, HPOO HPOO Solutions Solutions Monitoring Monitoring Selenium, TestLink MiscPoint Jenkins,CI TeamForge.. TeamForge.. XLRelease, XLRelease, IntelliJ,SVN, Team
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld
48 Jenkins World
Measuring and mapping example
#JenkinsWorld Example: Financial Services Company Jenkins World
• Large accounting platform, 65% and growing SaaS business
• Practiced Scrum in Development (2 week sprints)
• Practiced waterfall in Operations and QA teams
• 6 month releases with monthly maintenance releases
• Virtual machine farm, gated by Operations and requested via help desk
• Development, QA, and Operations have dedicated non-integrated tools
• Excessive firefighting and burnout in Operations
• High number of Severity 1 production issues
#JenkinsWorld Order of Operations Jenkins World
WHERE ARE WE? Discover: Determine current state and maturity
WHERE ARE WE GOING? Define: Establish objectives
HOW DO WE GET THERE? Map: Journey through the quadrants
Cross chasms, connect quadrants, continuously improve
Involve and align key stakeholders at start of transforma on and communicate with them #JenkinsWorld #JenkinsWorld frequently. Discover: Q1 Team-Level Agile WHERE ARE WE? Jenkins World Enterprise
1. Do one or more teams practice agile? Yes 2. Do teams practice Continuous Integration? No Workgroup 3. Are end-user needs defined and planned using agile? Partially, use water-scrum-fall
4. …
Team Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld Discover: Q2 Team-Level CD WHERE ARE WE? Jenkins World Enterprise
1. Are one or more teams able to dynamically provision prod-like environments? Yes
2. Are environments and infrastructure versioned and/or code? No Workgroup 3. Is operations involved in the planning process? No
4. Are development, delivery and deployment tools integrated? No Team
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld Discover: Q3 Enterprise Agile WHERE ARE WE? Jenkins World
1. Do all teams follow shared agile practices? Yes
Enterprise 2. Do teams use common integrated definition, planning and development tools? Yes
3. Is the business aligned with agile planning? No
4. Can you measure and report on development status across projects?
Workgroup No
5. … Team
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld Discover: Q4 Enterprise DevOps WHERE ARE WE? Jenkins World
1. Does the organization provide elastic infrastructure as a service? No
Enterprise 2. Does the organization provide CI/CD as a Service? No
3. Are the business and customers aligned with agile and continuous delivery of changes? No
4. Is there a culture of collaboration, learning and experiementation? No Workgroup 5. … Team
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld #JenkinsWorld Discover: Current State by Quadrant Maturity YOU ARE HERE Jenkins World
Enterprise Quadrant 3: Quadrant 4: Maturity = Med Maturity = Very Low Workgroup Quadrant 1: Quadrant 2: Maturity = High Maturity = Low Team
Define Plan Code Build Integrate Test Release Deploy Operate
Modern DevOps prac ces can be applied to Hybrid or Bi-modal #JenkinsWorld organiza ons which have a mix of legacy “systems of records” and #JenkinsWorld modern “systems of innova on.” i.e Accoun ng vs Mobile. WHERE ARE WE GOING? Define: Establish Objectives Jenkins World
Long term/Strategic:
• All applications released every 2 weeks
• Reduce Severity 1 defects by 100%
• Reduce all defects by >50%
• Reduce operations and developer ”overtime” by 80%
• Reduce IT costs
• Increase responsiveness to customer
#JenkinsWorld WHERE ARE WE GOING? Define: Establish Objectives Jenkins World
Short term/Tactical:
• Establish shared Continuous Delivery as a Service platform
• Implement automated testing for all applications
• Form cross-functional teams
• Foster collaborative culture
Objec ves should be based on Shared Priori es, those which can be translated to benefits to all #JenkinsWorld stakeholders, to encourage “buy-in” HOW DO WE GET THERE? Map: Journey through Quadrants Jenkins World
Quadrant 1 to Quadrant 2 • Establish team-level CD • Shared platform, dynamic provisioning, automated testing • Form cross-functional team • Open communication, shared knowledge
Quadrant 3: Quadrant 4:
Enterprise Maturity = Med Maturity = Very Low
Workgroup Quadrant 1: Quadrant 2: Maturity = High Maturity = High Team
Define Plan Code Build Integrate Test Release Deploy Operate
#JenkinsWorld HOW DO WE GET THERE? Map: Journey through Quadrants Jenkins World
Quadrant 2 to 3* and 4 • Establish shared project management and development tools and process – Have common, ”connecting” process parts but support deviation outside of those • Adopt enterprise infrastructure and CD as a Service strategy – Connect common development tools to enterprise solution
Quadrant 3: Quadrant 4:
Enterprise Maturity = Med Maturity = Med
Workgroup Quadrant 1: Quadrant 2: Maturity = High Maturity = High Team
Define Plan Code Build Integrate Test Release Deploy Operate #JenkinsWorld HOW DO WE GET THERE? Map: Journey through Quadrants Jenkins World
Quadrant 2 to 3 and 4* • Build DevOps Center of Excellence based on lessons from “red” team – Central, cross-functional team. Service oriented but with authority • Onboard new teams and extend common tools and processes – Continuously, pragmatically refine to balance team needs with enterprise needs
Quadrant 3: Quadrant 4:
Enterprise Maturity = Med Maturity = Med
Workgroup Quadrant 1: Quadrant 2: Maturity = High Maturity = High Team
Define Plan Code Build Integrate Test Release Deploy Operate #JenkinsWorld Transformation Strategies Jenkins World
• Identify pilot project • Form cross-functional ”red” team • Adopt unifying technologies • Establish plan with measurable KPI’s and milestones • Go!
• Measure, document report, refine
#JenkinsWorld Jenkins World
Survey: https://www.surveymonkey.com/r/4Qs-Survey
#JenkinsWorld Q&A and Next Steps Jenkins World • Download the white paper on “Assessing DevOps Maturity Using a Quadrant Model”: • https://pages.cloudbees.com/DevOps-Maturity-Using-Quadrant-Model.html – https://goo.gl/iIKdCm
• Don’t forget to complete the community survey! – Access from the Jenkins World mobile app – https://www.surveymonkey.com/r/jenkins2016
#JenkinsWorld Jenkins World
Contact me! Brian Dawson DevOps Evangelist, CloudBees Inc. @brianvdawson [email protected]
#JenkinsWorld