March 15, 2018
March 15, 2018
Contributor: Christy Pettey
Use these best practices to implement successful DevOps initiatives.
With digitalization, there is a critical need to support businesses that must operate at higher speeds and with greater agility. This has resulted in DevOps growing quickly and becoming key to many organizations in their pursuit of competitive advantage. Although DevOps delivers compelling business advantages, many organizations struggle to benefit from DevOps initiatives due to uncertainty about how to approach them.
“DevOps challenges conventional IT thinking with its lack of a standard definition and approach, its constant evolution, and its requirement for acceptance and management of risk,” says George Spafford, research director at Gartner. “This imprecise target state has caused many IT organizations to hesitate in implementing a DevOps strategy.”
Although there is no specific set of required stages, Spafford recommends eight foundational steps that infrastructure and operations (I&O) leaders can follow to get their DevOps initiatives up and running.
A DevOps initiative must focus on business requirements and not on "doing DevOps for the sake of DevOps," wherein the methods and tools become more important than what customers need. Organizations must avoid the all-too-common mistake of launching a DevOps initiative before establishing that a business reason exists to do so.
“For example, instead of focusing on release rates and doing things faster, start with the business value by asking what that will enable,” explains Spafford. “The justification could be something like ‘by increasing our release rate, we will be able to innovate faster and thus support sales and marketing’s push for ordering with a mobile app.’ The most successful organizations know the business benefits they hope to realize from DevOps.”
Gartner defines DevOps as a business-driven approach to deliver solutions using agile methods, collaboration and automation. However, it’s important to define the target state in terms that your organization will understand. Picking a label for your initiative to provide a "banner" for people to identify with and support will help to get them on board. The definition should be short, focused and supportive of the business justification.
Do not deploy DevOps in a single step. DevOps must be deployed iteratively, with each increment satisfying all three of the following qualities:
“The core use case of DevOps is in agile development and situations with considerable uncertainty such as machine learning and Internet of Things (IoT), but because the DevOps philosophy can be applied broadly, there will be other opportunities to introduce concepts,” says Spafford. “The initial impact, however, will usually be better with systems of innovation because the existing capabilities likely can’t support these initiatives such as big data, machine learning, IoT and so forth.”
People are the main ingredient in a successful DevOps initiative. When selecting members of the initial team, emphasize behavior over skills. Teaching technical skills is easier than teaching the correct behaviors — and the wrong behaviors will derail the DevOps effort. Look for a good team player who is smart, motivated, understands risk and is a committed lifelong learner, capable of working in new ways.
Because people are the most important part of a DevOps initiative, understanding and implementing the right motivators is critical. “In many traditional organizations, objectives are set departmentally and IT metrics are in place to solve problems and reward the person who solves them,” says Spafford.
“In a DevOps initiative, objectives must be at the team level and aligned to the business objective given to the team. DevOps team members must realize that they all have the same objective, and metrics and incentives must encourage teamwork toward business goals as opposed to metrics that reinforce risk aversion and individual problem solving.”
I&O leaders should identify the largest bottleneck that is limiting throughput. The life cycle of developing and transitioning new and changed systems into production will have a greatest constraint that limits throughput. By focusing on this greatest constraint, the DevOps team can methodically identify what is holding them back from the required cadence and address it.
The overall goal of a true DevOps implementation includes an integrated toolchain that enables an approach to evaluating and selecting tools so that each tool can be loosely coupled to its adjacent tool in the application life cycle. Linking all of the automation touchpoints and information flows speeds the movement of releases through the toolchain while reducing errors, defects, rework and outages. This will allow the tools used at each stage to be aligned and will provide a view on where automation, integration and tool hand-offs need to be achieved within and between stages.
Too many companies make the mistake of believing they need to scale DevOps before they start in order to get approval. This leads to a vicious cycle. Because they don't know how they will scale DevOps, they can't start. And because they can't start, they can't learn and figure out how to scale.
“Don't derail a valid DevOps initiative by trying to scale before you’re ready,” advises Spafford.
“Instead, bring together your team, start moving in the direction that seems to make the most sense and address the constraints encountered. Learning and evolution must happen in terms of the people, the technologies and the processes. Incurring technical debt is inevitable, and managing that debt is a part of the new model as evolution occurs.”
Connect with the leading IT infrastructure and operations (I&O) leaders and get the latest insights needed to take your strategy to the next level.
Recommended resources for Gartner clients*:
DevOps — Eight Simple Steps to Get It Right by George Spafford and Ian Head
*Note that some documents may not be available to all Gartner clients.