Define DevOps for your organization
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.
Select the "first mover" application
Do not deploy DevOps in a single step. DevOps must be deployed iteratively, with each increment satisfying all three of the following qualities:
- Politically friendly environment: This means that people are willing to work with the first-mover application and give the initiative a fair and honest try.
- Acceptable value: The first mover must deliver enough value to earn credibility and approval to continue.
- Acceptable risk: Because of the ambiguity and uncertainty surrounding DevOps, many people view it as risky and are afraid to begin. Organizations should identify an opportunity that involves an acceptable level of risk, because everyone — IT, operations, development, information security, regulatory compliance and audit — must learn.
“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.”
“ Because people are the most important part of a DevOps initiative, understanding and implementing the right motivators is critical.”
Identify the initial team
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.
Establish objectives and metrics
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.”
Focus on constraints
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.
“ Don't derail a valid DevOps initiative by trying to scale before you’re ready”
Develop the toolchain
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.
Scale when ready
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.”