DevOps has become without a doubt the new mainstream in IT. As common as ITSM processes were 10 years ago, now DevOps is what many people are focusing their efforts on. Despite the ubiquity of this new(ish) movement across many industries, there are still many different perceptions of what DevOps really is. For some organizations it’s all about tools; for some others automation, or testing, or a mix of these together with culture and transformational change.
A common denominator in the vast majority of instances where DevOps is being exercised, is that it has an operational focus. DevOps is mostly perceived as a series of practices that assist with faster software development and more frequent releases, which ensures more stable and error-free software that better meets customer requirements. Automation, collaboration, feedback, sharing, code management, integration, cloud migration, automated testing, toolchains, microservices, infrastructure as a service, automated releases, these are all concepts that most people understand should be done as part of DevOps, or DevSecOps (the newer approach to DevOps where security requirements are also incorporated at the early stages of the software development pipeline).
In any case, where these concepts are coming to life, one thing prevails as a missing critical component: a proper strategy. I’m not neglecting the fact that many organizational units do have a plan (or whatever they may think is a strategy) to guide their DevOps adoption journey; but I’m talking about a real strategy; a business strategy.
What is a Strategy?
By definition, a strategy is “a plan of action or policy designed to achieve a major or overall aim”. But another definition says “the art of planning and directing overall military operations and movements in a war or battle”. I really like this one because it’s so much like modern business. “A war or battle” of competing organizations trying to be better than the others, stand out in the market and become the leaders in their industry. “The art of planning and directing overall operations and movements” to win the war. This is what strategy is; it’s all about the business, making a plan and directing operations to make the business successful.
However, many so-called strategies defined for DevOps are fully focused on operational actions and priorities, without really taking into account the business’ needs. Defining priorities based on what is needed at an operational level is not a strategy; that’s a tactic (by definition “an action carefully planned to achieve a specific end”). So when I say “a proper strategy” I’m referring to a plan that is actually based on what the business needs in order to succeed, what needs to be done for this to happen, and how all the interrelated operational components contribute and how they need to be aligned to deliver value to the business. If anything is done at an operational level that is not providing value to the business, then that’s a waste.
Having a proper DevOps strategy in place will deliver multiple benefits to everyone in the organization. Below are the most critical reasons for having a proper strategy in place to guide an organizational DevOps adoption.
- Provides Vision and Clarity to Everyone Involved. Having a clear and common vision of DevOps is critical, since this is what will convince people to commit with the movement or program. Understanding the ‘why’ will make a tremendous difference in people’s engagement and participation in the DevOps adoption.
- Enables Alignment of All the Elements Involved. It is a challenge to move the whole organization at a sustained pace. Usually only a few areas or departments will move fast, while others will be reluctant to collaborate and will ultimately stagnate, causing demotivation and fatigue among the people involved. A proper strategy will prevent this from happening by enabling a proper alignment of all the elements involved, since they will all have a shared common vision of DevOps.
- Facilitates Definition and Measurement of Success. Success can be very subjective, especially with such a complicated initiative like DevOps. Without a proper strategy that clearly highlights value requirements and critical success factors from a business perspective, different people will understand success in different ways, and when it comes to demonstrating it with measurements, not everyone will be convinced of the success of the DevOps adoption program.
- Saves Costs. How many things can be done as part of a DevOps adoption? How many tools can be implemented? How many technologies can be used? Certainly from an internal IT perspective possibilities are many, and a lot of them will be attractive and desired. But does the business really require all these? If there’s not a proper strategy in place you might never know, so you may end up spending way more than what you really needed to. If only there was a clear vision in place!
- Empowers People and Agile Teams. Agile structures such as ‘squads’—which have operational autonomy within a limited span of control—have become common with the wide adoption of Agile practices. However, they still sometimes struggle knowing exactly what their space of autonomy really is. With a proper strategy in place, people will have more clarity on the goals that need to be achieved, and therefore will be more empowered to act with autonomy to achieve those goals, rather than having to validate all the time whether what they’re doing is what they should be doing or not.
- Makes Value to Business Visible. CEOs and CIOs need to work closely together to make their businesses succeed in the digital age. The job of the CIO is providing and demonstrating value to the CEO, and he could definitely use DevOps to do so. But if DevOps is not linked to business outcomes through a proper strategy, how is he going to demonstrate value to the business? Without a proper strategy in place, there’s the risk of DevOps being perceived as a waste of money by the CEO and other business executives.
- Reduces Risk of Failure. In the end, it is the business who pays for all DevOps-related actions and implementations; and as with every investment, a positive ROI is expected. Any program that requires such level of investment will have to be terminated if no business value is perceived from it after some time, so not having a proper strategy in place will put a DevOps adoption at risk. Having a strategy that is focused on the business will reduce the risk of a DevOps program to be considered ‘failed’, as has historically happened with other IT initiatives in the past.
Conclusion: Having a proper DevOps strategy in place (not an operational one, but one that is focused on actual business’ needs) will help guide and prioritize adoption and implementation stages, build on improvement, sustain change and consolidate the new culture and capabilities. Without it, DevOps may deliver IT benefits, but not really actual business value.
Global Lynx assists IT organizations creating and executing strategies that enable a holistic approach to a DevOps adoption program. We provide a comprehensive tailored solution to enable the required capabilities your organization needs to embrace Digital Transformation. More info: www.globallynx.com/devops.
Comments by Manuel Garcia