Making the case for DevOps in your organization
Time is money. This little axiom may seem trite, but it has never been more relevant than in the digital age. Customers expect a steady stream of improvements to whatever digital products they use. How quickly leaders can deliver improvements has a big impact on customer acquisition and retention.
Take automakers for instance. A recent McKinsey study on consumer preferences showed that, year over year, there was an 85% increase in the number of automobile consumers who were willing to switch brands provided their digital needs (automation and connectivity) were met. When the pace of digital advancement becomes as important to auto manufacturers as it is to Google and Netflix, every business should be looking at their digital portfolio and how they can transform it faster.
So how do you explain the purpose of DevOps in all this? First and foremost, you can point out that DevOps will:
dramatically shorten the time it takes to build a delightful digital experience.
keep code up to date and keep experience relevant to end users.
drive customer acquisition and retention.
In fact, IT teams who have successfully adopted DevOps principles routinely outperform those that haven’t—as published in the 2017 State of DevOps report by Puppet.
A similar 2018 report published by Interop ITX and InformationWeek provides further insight. Of 128 IT professionals surveyed, 69% said implementing DevOps within their organizations increased the deployment frequency of software and services. Within the same sample group, 59% credited DevOps with improving the quality and performance of their applications. Speed and quality weren’t the only benefits cited. One in three respondents also reported lower development, testing, and operating costs.
State of DevOps report by Puppet
SURVEY QUESTIONS | HIGH IT PERFORMERS | MEDIUM IT PERFORMERS | LOW IT PERFORMERS |
---|---|---|---|
Deployment frequency: For the primary application or service you work on, how often does your organization deploy code? | On demand (multiple deploys per day) | Between once per week and once per month | Between once per week and once per month* |
Lead time for changes: For the primary application or service you work on, what is your lead time for changes (e.g. how long does it take to go from code commit to code successfully running in production)? | Less than one hour | Between one week and one month | Between one week and one month* |
Mean time to recover (MTTR): For the primary application or service you work on, how long does it generally take to restore service when a service incident occurs (e.g. unplanned outage, service impairment)? | Less than one hour | Less than one day | Between one day and one week |
Change failure rate: For the primary application or service you work on, what percentage of changes results either in degraded service or subsequently requires remediation (e.g. leads to service impairment, service outage, requires a hotfix, rollback, fix forward, patch)? | 0 - 15% | 0 - 15% | 31 - 45% |
*Note: Lowe performers were lower on average (at a statistically significant level), but had the same median as the performers.
Source: Puppet State of DevOps white paper published in 2017
ROI of DevOps
So how do you measure gains? For process improvement calculations, the potential gains include both tangible and intangible elements. The tangible elements are derived from revenue growth, head count and infrastructure costs, and reduced cost of failures. The more intangible elements manifest in areas such as team efficiency, productivity, and risk reduction. They can be divided into these categories:
Revenue gains from accelerated time to market of the new product or new product features
Productivity gains and cost reduction in IT head count waste
Cost reduction from fewer application failures due to increased product quality
Increase in flexibility and ability to pivot in the IT environment
Empirically, the research from Puppet proved that teams with DevOps CI/CD experienced:
50% fewer failures and better quality products
12x faster to recover when a failure occurs
2x more likely to recover from a failure in less than 10 minutes vs. 28.3 minutes from a non-DevOps-enabled team
7.2 hours saved per person per week returned to do actual product development rather than on repeatable tasks, such as time spent by IT on building and maintaining environments, developers on diagnostics and problem resolution, developers on system integration, and testers on manual testing
Getting started
Making the case for DevOps is a lot easier than putting it into practice. Much like climbing Everest for the first time, it helps to have experienced guidance from those who have made the trek before.
THE DEVOPS CHECKLIST
✓ Establish DevOps at Sprint 0.
Before a line of code is written, build your cross-functional team of developers, system administrators, application architects, support staff, and end users. A good DevOps team will be comprised of people with varying levels of experience and technical expertise that complement one another. The individuals on the team draw from one another’s strengths.
✓ Hold everyone accountable for results.
Set the expectation that, although each team member has different functions, the responsibility for a successful outcome is shared. Everyone’s feedback on the development process is not just welcomed, but it’s expected.
✓ Make self-service provisioning the norm.
Empower developers to spin-up and spin-down environments on demand. This will help control costs—especially in cloud-based environments—by keeping environments active only as long as they are needed.
✓ Develop your CI/CD pipeline.
The Continuous Integration segment of this pipeline must include testing to ensure code is ready for delivery or rollback capabilities if it isn’t. The Continuous Delivery part of your pipeline should be set up so that it configures the app per environment and puts in a binary repository.
✓ Include a Continuous Deployment pipeline.
This pipeline must be able to deploy to all environments with a no touch approach.
✓ Have a dashboard for monitoring progress.
Being able to regularly report metrics for frequency, speed, and quality of software releases is essential to the success of DevOps. Devbridge clients benefit from our PowerUp app that features more than 30 KPIs at a glance.
✓ Remember, DevOps is evergreen.
DevOps is not a one time event. It is a mindset that needs to pervade the thinking of everyone in an organization.