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 • 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 (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 hps://www..com/pdf/connuous-delivery-report.pdf 8 Agile, CI, Continuous Delivery and DevOps

Jenkins World

continuous continuous agile 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 , 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 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 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 compeve advantage Agile Upstream 22% • Increased producvity • Employee sasfacon and retenon 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 iterave/Agile development pracces • Enterprise support for “cloud” with standard tools and process • Business aligned with agile specificaon for automated test, dynamically provisioned environments, immutable infrastructure, IaC… • Common PM and Dev process Enterprise • Business and customers aligned with iterave agile definion • Team-level tools and delivery process and delivery • Tools integraon to common plaorm supporng reporng and + Team(s) adopt agile development practicesmetrics, security, governance, and traceability • Culture of learning and innovaon + Development team(s) independently leverage CI • Team(s) adopt iterave/Agile development pracces • Specific applicaons 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 integraon • Team CI extended to CD - • Team specific PM and Dev process Team specific project mgmt. and dev. •processes Team-level tools integraon 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 iterave/Agile development pracces • Enterprise support for “cloud” with standard tools and process • Business aligned with agile specificaon for automated test, dynamically provisioned environments, immutable infrastructure, IaC… • Common PM and Dev process Enterprise • Business and customers aligned with iterave agile definion • Team-level tools and delivery process and delivery + Specific applications• Tools integraon to common plaorm supporng reporng and supported by automated test, dynamicallymetrics, security, governance, and traceability provisioned environments, configuration• mgmt,Culture of learning and innovaon containers… • Team(s) adopt iterave/Agile development pracces • Specific applicaons 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 integraon + Team-level dev. tools integration to delivery tools • Team specific PM and Dev process • Team-level tools integraon 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 iterave/Agile development pracces • Enterprise support for “cloud” with standard tools and process • Business aligned with agile specificaon 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 iterave agile definion • Team-level tools and delivery process and delivery + Business aligned with agile specification• Tools integraon to common plaorm supporng reporng and metrics, security, governance, and traceability Common project mgmt. and dev. process• Culture of learning and innovaon

• Team(s) adopt iterave/Agile development pracces • Specific applicaons 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 integraon - Team-level tools integration • Team specific PM and Dev process • Team-level tools integraon 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 iterave/Agile development pracces • Enterprise support for “cloud” with standard tools and process • Business aligned with agile specificaon 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 iterave agile definion provisioned environments, • Team-level tools and delivery process containers, Infrastructure-as-a-Service…and delivery • Tools integraon to common plaorm supporng reporng and + Business andmetrics, security, governance, and traceability customers aligned with agile definition and delivery • Culture of learning and innovaon

• Team(s) adopt iterave/Agile development pracces + Tools integration• Specific applicaons 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 integraon traceability • Team CI extended to CD • Team specific PM and Dev process • Team-level tools integraon 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 Execuve 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 Execuve 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 transformaon 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 pracces can be applied to Hybrid or Bi-modal #JenkinsWorld organizaons which have a mix of legacy “systems of records” and #JenkinsWorld modern “systems of innovaon.” i.e Accounng 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

Objecves should be based on Shared Priories, 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