New age IT world is making revolutionary advances in ways nobody predicted. Developing applications such as the cloud, advanced analytics and expanding mobility have transformed the vision of software industry. In today’s IT world it is all about agility with quality. Traditional processes and methods of developing software are challenged with keeping up with the complexities that come with these new environments. As a result, DevOps has come to the fore as a new IT philosophy which will help overcome these complexities. The aim of DevOps is to bring collaboration among the different IT teams. DevOps is successful in increasing the agility and in faster software/application deployment. But there is no success without measurement. So DevOps success also needs to be measured.
Measuring the success of DevOps is very important because DevOps initiatives target the very processes that determine how IT works. A metrics-oriented mindset is key to ensure that DevOps initiatives deliver the intended results. Data-driven decisions and focused improvement activities lead to increased quality and efficiency. Also the use of feedback to accelerate delivery makes DevOps a successful IT culture. With DevOps, as with any IT initiative, knowing what to measure is always the first step.
The following suggestions help identify the key measures.
This is a tough area to create the mechanism to measure. Because it is very difficult to assign a dollar value. DevOps advocates eliminating stress, creating an environment of collaboration. This enable the people to work more effectively. Some key representative metrics are:
- Staff retention
- Change acceptance
- Resource cross skilling
- Knowledge sharing
- Resource utilization
Agility again is not clearly defined. One should define the measurable attributes of agility. Some of the reasons why the DevOps is fast gaining acceptance are the ability to deliver software faster, with fewer defects and faster resolution of problems. Some key representative metrics are:
- Speed of deployments
- Time it takes to fix failed releases
- Frequency of releases
- Change lead time
- Sprint velocity
The success of DevOps is directly related to the value and the quality delivered to the end users. The key objective of any DevOps practice should be to contribute creatively and improve the existing practices. While measuring quality using metrics one can evaluate, modify, and improve processes over time. Some key representative metrics are:
- Production outages
- Defect rate in production
- Mean time to recovery
- Deployment roll backs
- Success rate of deployments
As Lord Kelvin (Scottish mathematician and physicist) said, “Without measurement there can be no measurable improvement”. DevOps is evolved from a rich history of process improvements. Feedback and measurement are the factors that drives the improvements in DevOps. The success of DevOps is to increase business value by making it agile through continuous delivery of services that satisfy customer needs. There are several tangible and intangible benefits of DevOps. They require measurement to help an organization better appreciate the impact of a DevOps approach. If this goal is not met then whatever is being done is not working or is not right.