I was recently involved in a release planning discussion where someone referred to an action that needed to be “handed over to the DevOps” team. I was slightly confused by what this meant. When I questioned this, I was told that what was meant by DevOps in this instance was a reference to the release management team.
Over the last few years the term DevOps seems to have become fashionable in software development circles. It’s not the first time I have heard something like this said and DevOps appears to actually mean a variety of things, including the people that deploy the software, the people that provide live application support, the people that look after the infrastructure or anything in-between.
It’s fair enough of course that a term can mean different things to different people, but where did DevOps originate from?
Partly, it originated from the realisation that software development was still siloed and that, while there was better collaboration between developers, testers and product owners within Dev teams, there were lots of other people involved in the delivery of software. However these teams were often on the periphery when any plans were put together to deliver software. Work was often thrown over the fence as described in the example above.
As we all know, this siloed approach can often lead to many dysfunctions such as a lack of accountability and trust.
Realising that this was an inefficient way to deliver software and given that the teams were essentially all working towards the same objective, a movement was born to break down these silos allowing dev teams and operations teams to work closer together (hence the creation of the term DevOps). This greater collaboration, is helping to facilitate great software being delivered efficiently and quickly to the customer.
The movement is now not just about Dev teams and Ops teams working closer together, but in many instances they are now actually part of the same team, where team members share duties. Developers are now often performing sysadmin duties, and sysadmins are working directly with the code. The movement along with its associated practices, such as continuous deployment, has allowed for teams to be more autonomous and has given them the ability to not only design and develop software, but also to release and support it.
This clearly mirrors the Agile values and principles that we use to guide us and, no matter whether you call it DevOps or something else, anything that encourages greater collaboration and the quick delivery and support of awesome software is in my eyes is a good thing!
I’ve only just scratched the surface here about the DevOps movement, so it would be great to hear from you about your DevOps experiences and any thoughts on the movement.
Photo Source: Juliaf