“Technology is easy, it’s people who are hard,” says Red Hat technology evangelist Gordon Haff. That certainly seemed to be the case for organizations undertaking a DevOps transformation. Here are three key issues to focus on.
1) You May Fail
Just how difficult is a DevOps transformation? Seventy-five percent of DevOps initiatives through 2020 will “fail to meet expectations” due to issues concerning organizational learning and change, predicts Gartner, which divides DevOps complexities into five areas:
- A lack of focus on customer value: Launching your DevOps effort without properly considering business outcomes.
- Failure to manage organizational change: Focusing too much on DevOps tools while overlooking the critical need to get your staff on board.
- Collaboration challenges: Too often DevOps efforts are limited to infrastructure and operations (I&O) teams, but a successful DevOps transformation requires collaboration between multiple stakeholders.
- Doing too much, too fast: To succeed in a large IT org, a DevOps effort must embrace an incremental, iterative approach. Trying to launch DevOp in a single step is a recipe for failure.
- Expecting too much: Unrealistic expectations can lead to the trough of disillusionment, as organizations often expect DevOps to deliver more than it can.
Given these challenges, it’s tempting to place your DevOps initiative on the back burner—or ditch it altogether. But that would be a mistake. “In my experience, organizations that fail to embrace DevOps do so at considerable risk,” says AppDynamic consultant Sean Stanford, who recounts the woeful tale of one company that failed to embrace DevOps and the pain it endured as a result.
2) DevOps Success Isn’t Easy to Gauge
The benefits of DevOps transformation vary by organization and can be hard to measure. DevOps.com recommends four essential KPIs for gauging the success of your DevOps initiative: asset management, monitoring, continuous integration/continuous deployment (CI/CD), and continuous security. In a nutshell, measuring your key DevOps KPIs is all about understanding the major issues, keeping them secure and improving them over time—not about fully automating procedures as fast as possible.
Writing for The Enterprisers Project, Dominica DeGrandis, Director of Digital Transformation at Tasktop, recommends focusing on five flow metrics that expose “big picture problems” and help you achieve your DevOps goals. These flow metrics include:
- Speed: how long a project will take, from conception to completion.
- Throughput: flow velocity tells you how many work items are getting done, usually week over week.
- Work type allocation: organizing business value into four groups—features, risks, defects and debt. (Tech debt will “take you down” over time, notes DeGrandis, so it’s important to allocate capacity to fix it.)
- Work-in-progress (WIP): Swamped with too many DevOps projects? The flow load metric measures the partially completed work in a value stream, helping your teams prioritize their efforts.
- Efficiency: Much of our work time is spent waiting for things to happen. By measuring wait time in your value stream, you improve decisions on prioritization, capacity and utilization.
3) DevOps + Cloud is a Good Thing—If Done Right
In TechTarget DevOps Agenda, Red Hat evangelist Haff writes that integrated container-as-a-service (CaaS) and platform-as-a-service (PaaS) cloud services don’t always provide an environment best suited to your requirements for production applications out of the box. The good news, though, is that these services offer a “surprisingly easy onramp” to development environments, monitoring, build tools, and other helpful tooling for DevOps workflows and cloud-native app development.
When it comes to practicing DevOps in the cloud, many mistakes are easy to avoid, notes David Linthicum, Chief Cloud Strategy Officer for Deloitte Consulting LLP. Writing for TechBeacon, Linthicum offers nine best practices for cloud-based DevOps, including tips focusing on training, security, governance, multi-cloud, and automated performance testing. Your DevOps and cloud strategy should include containers, allowing you to “componentize” applications to make them portable and easy to manage and orchestrate. However, you should also acknowledge that not every application—such as old COBOL systems based on legacy technology—are good candidates for cloud migration.