DevOps is a movement that is underway or at least in the very early stages of infancy as a way to rid the IT world of some if not most of its silo’s. Silos have existed in Information Technology (IT) from the beginning for two reasons, the complex nature of early IT systems and because that’s the way businesses are run, for the most part. Silo’s are an easy way for Accounting to make sense of business operations, for example, marketing only does marketing activities, sales does sales, distribution does distribution, etc. So fast forward to today’s IT environment where Agile is taking hold and become more prevalent, where IT systems are becoming more complex, where news reaches the rest of the worlds in seconds not days or weeks. Large scale failures and inefficiency is becoming not only way of life, in some people’s eyes it’s the norm in IT. DevOps is an attempt to correct this: Will it succeed? Time will tell.
In IT there is one thing that is certain and unfortunate at the same time: most projects fail. They fail to meet the triple constraints of; on time, within scope, and under budget. Some in our field have even added a fourth constraint of quality. This not to say that all IT projects that fail to meet the triple or quadruple constraints, don’t get implemented, they do. However, when you measure the success using the triple and quadruple constraints they are failures. While this seems to be an oxymoron it really isn’t, it is simply a black and white view a fail or succeed, no gray area, no kind of succeeded view of success or kind of failed.
The causes of these problems are too immense to mention here, but several are noteworthy. Let’s suffice it to say that unrealistic dates, staffing issues, non-cooperation from business to IT and IT to the business, little or no oversight and poor project management. The result is obvious, cost overruns, software that doesn’t perform as promised or meet the requirements and the finger pointing that inevitably will arise. Once this happens, distrust reigns and camps become entrenched in IT.
The Proposed Solution
DevOps is an approach that is trying to fix the problems just mentioned. The approach is fairly simple: Tear down the silos that exist between development, operations and quality. We all have experienced the silos in organizations. Development codes and throws it over to the quality group; they test the application, and then throw it over the wall to operations to deploy. Then in deployment there is either a failure immediately or shortly thereafter.