I must admite that I do not admire the term devops but it is a term that seems to stick these days.
The term describes how developers and other IT professionals, specificly IT operations, should communicate and collaborate more effectively with each other.
However the term is now used to describe a special role in software development, namely the developer which also knows about operations.
I am currently in such a job where I am doing a great amount of devops work to keep my team even sharper and faster at developing great software which brings value to the customer.
From my perspective devops is about minimizing the ops and maximizing the dev.
Ops or operations is often tedious tasks, requiring manual labor, which needs to be performed with precision.
This is a lot like testing which we as software professionals automate as much as reasonably possible because it repay us with fast feedback loops and the certainty of quality with out all the tedious work!
As a side benefit we can avoid many of the human mistakes, which we all make from time to time.
Devops is about automating the operation aspect because of the same reasons, eliminating human mistakes, be certain about quality, delivering business value to the customer fast, and saving resources.
It is actually that simple!
However I currently see some of the players in the market being afraid of investing in devops related improvements and I believe its because they are yet to see that it will bring value to them and their customers businesses.
The story about how Knight’s Electronic Trading Group (ETG) lost nearly $400 million in about 45 minutes, where the fault was placed with their deployment procedure, gives a great perspective into why devops and creating delivery pipelines is so important.
If you get it right you will get all the benefits above, if you don’t you will have to rely on your employees not making mistakes, which per definition they will, because it is human to make mistakes!