Views, News & more
For those of us in the IT industry, the phrase 'DevOps' has become a common word used in many organisations. However, many of us are unsure what it is exactly, where DevOps came from and what it attempts to achieve. Here, we're going to dive into dissecting what DevOps actually is, while also taking a look at the pros and cons of what DevOps aims to deliver.
“Currently, DevOps is more like a philosophical movement, not yet a precise collection of practices, descriptive or prescriptive”
What makes DevOps so fascinating is that there's no absolute true definition of what it is. It's grown from a group of concepts that are not new in the technical world. However, mostly, the phrase has sprung from the modern application of agile and lean approaches to how operations work. It's also the increasingly valuable return that collaboration between the development teams and the operations staff has on the lifecycle of software, particularly in this service-driven world.
A good definition of DevOps is probably summed up best as "the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support". This definition helps highlight the importance that collaboration between the teams of developers and the operations teams has started to play on evolving landscape of IT development and that by adopting the same best practices and uses, the product the two teams are working on together can be developed more efficiently.
As mentioned earlier, DevOps has also arisen from the agile and lean methodologies. However, with these approaches, the development and operations team is seen as separate, with the development team dealing with the product before launch, then handing it to the operations team once the product has been released. The IT community realised that siloing the two teams and treating them as separate entities developed DevOps and drove this more collaborative. By having a close collaboration with customers, developers and product managers, the aim is to produce a much better product overall.
“Any roles involved in a project that do not directly contribute toward the goal of putting valuable software in the hands of users as quickly as possible should be carefully considered.” – Stein Inge Morisbak
In the past, it was common knowledge in the IT industry that projects were likely to overrun and that when they were eventually delivered, the product often underperformed. Until DevOps came around to offer a potential solution, a lot of IT companies were hesitant to change for a number of reasons, including the old mantra ‘if it works don't fix it’, as well as the silo issues mentioned above.
One of the biggest reasons, in the past, for not adopting a more collaborative process is because businesses that have invested large amounts of money into the process of developing the product, the software and the platform, do not want to change anything over concerns of breaking things. Added to this is the often-lengthy process involved in getting anything changed in large companies. DevOps attempts to fix this by introducing a collaborative outlook throughout the entire process, from design to launch. That way, everyone is invested in the whole process, the beauracracy is removed or reduced, and a better product and service is released.
Furthermore, a common theme in the past for IT departments was the division of the teams into working on different elements of the project. None of the teams intertwined and none of the collaboration took place like we see today. If issues arose, and they always do to some extent, it used to be commonplace to pass the problem on to different teams. This resulted in a lot of time and effort being consumed without any permanent solutions being developed. DevOps again attempts to solve this by promoting collaboration and enforcing standard practices between teams.
“Showing a strong success and visible benefits is key to getting others to agree to try your way of doing things.” – Frederic Rivain
One of the main reasons why DevOps appeared was because people in the IT community realised that, while the end goal was to make software that works and is ultimately profitable, all the teams involved in the process, from design to launch, are in it together. They are all trying to achieve the same goals, to produce a high-quality product that delivers the goods.
While the above might seem obvious to many of us now, a few years ago, this just didn't happen. With the introduction of DevOps, better communications throughout businesses has been achieved and this has been the driving factor for DevOps explosion. The fact that it's now a common phrase used in the IT community, the fact that it brings internal teams together under a common goal and the fact that many leading companies have adopted DevOps suggests the trends surrounding DevOps is here to stay.
Next week in this series, we'll cover what the future holds for DevOps, where the trends are going and what further innovations can we expect.