DevOps – where software development and operations collaborate
A fresh and exciting concept is taking hold within software development and operation teams around the world. It’s called DevOps. It aims to bring these traditionally siloed departments into closer contact and allow them to collaborate more effectively, with the ultimate goal of delivering a better product to customers while allowing faster delivery and better support. Not unlike the Second Law of Thermodynamics there are many ways to define DevOps. However the elimination of silos is a good overall definition of the concept.
DevOps originally attempted to erode the barriers between the silo of Development and the silo of Operations. Hence the term DevOps as a concatenation of development and operations. Over time the term development has grown to include all the job functions associated with creating software. Namely programmers, product managers, quality assurance teams, release engineers, and software testing. Similarly the term operations now includes system administrators, DBA’s, network engineers, security professionals and operations support staff. By encouraging a closer working environment and providing the tools for these different disciplines to collaborate DevOps is revolutionising web application delivery. It allows these normally disparate groups to work together for the entire application lifecycle. From design, through the development process, deployment, to production support, then on to product iteration and further development over the lifetime of the application. In many organisations the different teams are physically brought together so that there is instant and easy exchange of information between people with different skill sets.
It should be noted that DevOps is not about a certain set of tools. Toolsets come and toolsets go over time. Often over increasingly shorter times as the pace of change within IT accelerates. Rather, DevOps is a way for people associated with the development and delivery of a software product to have empathy for the others involved in the process. Developers should think about better ways that the software can be supported by operations. Operations should think about how they can make deployment of new code easier for development. All should think about how they can make the service better for the end users. Everyone should be a sales and support person for the application.
Many organisations who have seen the benefits that flow from DevOps have started to think about how the eradication of other silos would benefit their business. The ultimate goal of an organisation is to satisfy its customers, so that they purchase more products and services. Eradicating silos between marketing, sales, management, finance as well as development and operations using the principles of DevOps can make for a more agile organisation that better delivers for customers. As the old adage goes: It’s good to talk. However, it’s even better to collaborate.