The article was written by our guest blogger Nikolay Nikolov. He has 15 years of experience in the software industry. His areas of expertise are DevOps, Project Management и People Management and currently he manages 35 people and 4 products in multiple markets.
There are a number of good definitions on what DevOps is. The simplest and most compelling one was given by Adam Jacob some 5 years ago: “DevOps is a cultural and professional movement. Period.”. Although this sentence alone has little informational value, it is the guiding and overarching principle, so in case you feel it a bit empty, just remember it and read on – it should gradually acquire meaning.
Other practitioners tried giving a more tangible flavour to the definition. Ray Sinnema calls it The new Agile and whilst some of his thinking about Scrum being a management-only discipline seems a bit exaggerated, he provides 5 terribly good points about how DevOps actually does extend Agile by adding new principles on top of it and reinforcing others, already existing. I highly recommend this reading, as the 5 points Sinnema outline some of the most fundamental DevOps principles. As a bonus, the article introduces one of the most common abuses of Agile, the so-called Water-Scrum-Fall process.
In his post, What Is This Devops Thing Anyway, Patrick Debois tried to list the issues of modern IT industries and how DevOps solves them. He thinks that “application of a combination of appropriate technology and attitude can revolutionize the world of software development and delivery”. This reading focuses on the pragmatic side of defining the term and gives some background into how and why such ways of thinking emerged.
Overall there is strong inclination to mix DevOps with Agile and this is quite understandable. These are two subsequent and logical evolutionary steps in the way of thinking and doing software, an effort to recognise the IT industry as a creative one, where people matter most, and put it in the canvas of real world that focuses on those who pay the cash – the clients. In a way, the two paradigms are so the same that many call DevOps simply an extension to the Agile practices that includes the process of operations and project management into the mix. Some even go as far as extending the Agile Manifesto into a DevOps Manifesto. For sysadmins, DevOps is the agile way of doing ops, their way to follow developers into working agile (not Scrum, though, Scrum doesn’t work for ops) and bringing closer together all the important stages of software production.
It is evident that many people have tried to define DevOps, each bending the explanation through their own lens of experience and skillset. Being an interdisciplinary approach, this term can be seen from many angles and has indeed different meanings to different people.
In the end, all of those definitions are true and are nothing but different manifestations of the main principles and ideas of DevOps, which in term can be summarized into one simple sentence: A cultural and professional movement. Period.