DevOps is the completion of the Agile methodology and creates an engineering environment in which developers can achieve speed. How fast is the difference? Agile is like a person running fast – about 20 miles per hour tops. DevOps is like a person driving a Ferrari who can exceed 200 miles per hour. Often as I talk with CIOs, I learn they focus on automated provisioning as an important aspect of DevOps. And it is. But it’s only a small component. Achieving the engineering environment similar to the acceleration of a Ferrari requires fundamental operating changes.
For a decade or more, the IT community has been experimenting with and adopting Agile principles. It had origins in Silicon Valley where the need for speed in development caused them to develop this methodology, which was later widely adopted by large commercial enterprises.
Once again, it was the tech startup community that determined that just using the Agile methodology is incomplete for achieving the desired development speed. So they started surrounding Agile with automation and also a different operating environment. That environment is software defined and is most easily visible in cloud offerings. It’s known as DevOps, which is a combination of a software-defined operating environment and automated tools for provisioning, testing and the ability to manage that operating environment. DevOps is the completion of Agile.
A mistaken path to DevOps
DevOps is not just a set of tools or a methodology. It’s a fundamental rethinking of what IT does. DevOps takes IT departments to a completely different construct. The key is that there is a different strategic intent – that IT’s purpose is to align with the business users’ needs to create value that is deeply satisfying to the business. That’s the new promise.
Inconveniently, the path to get there is the same general path you have to go from thinking about running very fast to driving a fast car. The strategic intent and organizational change issues are far more challenging that the investment in new technologies. It’s very unclear whether an IT organization can get to an effective DevOps environment that really delivers the promised benefits without investing in the organizational changes.
So, as CIO, don’t fall into the trap of buying another set of provisioning tools or automated testing tools and believing that you’re going to get to a Ferrari. If you do that, you’re just training IT to run faster instead of driving a fast car, and you’re unlikely to get to an environment engineered for speed.
The nuts and bolts of DevOps
So what are the fundamental operational changes that DevOps requires?
1. Integrated service model. At the heart of an effective DevOps environment is an integrated model. Historically we have managed IT through a shared-service model and a series of functional disciplines such as the data center, security, application development, application maintenance and procurement. But managing IT by these functional layers creates a gauntlet business users must navigate. DevOps requires switching from the functional orientation of IT services and organizing and managing IT by service lines instead. The service lines are based on IT-enabled services required by the business, such as onboarding new customers, sales, accounting, etc.
Sign up for Computerworld eNewsletters.