The next letter in the DevOps CALMS model brings us to M for Measurement. Focusing on the right metrics and measurements is vital if you are going to succeed with DevOps adoption.
“You Never Know Where You Are Going Until You Know Where You Have Been”
There are not many times in my career that I am going to be able to quote Will Smith, but in the “Will2K” video, Will states “You Never Know Where You Are Going Until You Know Where You Have Been”. For me, this summarizes why measurements and metrics are so important. Unless you can understand where you are right now then there is no way to understand whether you have been successful in regards to an initiative, in this case, DevOps adoption. Choosing the right DevOps measurements is important to eliciting the right behavior amongst IT teams, ensuring that they know what they need to focus on and, key to making sure that you are delivering the right value to the business.
Eight Essential DevOps Measurements
There are actually more than eight measurements that I would recommend for DevOps adoption. This is because your full measurement strategy really depends on what your stakeholders want to see, your goals and timescales for DevOps adoption. But at a top level, I believe there are eight metrics, which are essential, grouped around people, process and technology.
In my experience most measurement strategies in regards to IT based initiatives focus on technology, but it’s ultimately your focus on people that will lead to success. This means employees and the customer. Two key metrics here are:
- Key employee retention – There will be employees in your team and your business that are key to DevOps success. Those who understand that DevOps is about taking an outside-in approach, focusing on business outcomes and delighting customers. Also those who can combine Development and Operations skills. These are skills you will want to hire, develop and retain. DevOps is a hot area from a job market perspective so you will want to make sure you keep talent in your business. Therefore identifying those employees who are vital to your DevOps efforts and then tracking retention is a must.
- Customer satisfaction/experience – Ultimately DevOps success is not about fast release, collaboration or automation etc. Rather it’s about making sure that software fueled business services satisfy and delight customers. This means that tying DevOps to customer satisfaction or experience measurements is vital. One option here is to link your DevOps measurements with NetPromoter scores if your company uses this popular customer satisfaction metric.
From a process perspective, the essential metrics which focus on release and change are:
- Release/change frequency – One of the key drivers for DevOps adoption is to release new features or applications quicker than before. The aims here are to make sure that your application users (customers or employees) receive the value they need, are happy with functionality and ultimately stay loyal to your business. So measuring release/change frequency is essential. It could also be said that release/change frequency is one lagging metric for the leading measurement of customer satisfaction/experience.
- Volume of failures – This measurement goes hand-in-hand with the measurement above. There is no point being able to release quickly if these releases fail and have to be rolled back.
- Time/cost per release – Ok, maybe this should technically be two metrics. Time is money and money is required for a successful business. This means that it’s critical to measure the time taken and cost per release especially in regards to Ecommerce based applications. If the cost of frequent releases outweighs the profit brought in by the application, then your DevOps adoption is not generating the business benefits that it needs to.
There are a number of technology metrics that you may choose for your DevOps adoption but here are my three essentials:
- Mean Time To Resolution (MTTR) – As mentioned, ultimately DevOps is about making sure that software strategy drives successful business outcomes by providing applications that help to deliver the service customers want. As such performance or availability issues are a DevOps strategy killer, and focusing on keeping MTTR measurements as low as possible is important. To improve, an end-to-end monitoring solution, which monitors end-user experience through to the application database or data store is critical.
- Mean Time Between Failure (MTBF) – This metric comes from software engineering practices and focuses on making sure that applications are available. In the software-defined business highly available applications are key as they fuel business success. Therefore this metric is important BUT
- Mean Time To Customer Impact – The reality is that failure only becomes an issue when it impacts a business process or the customer. Also failure as per my culture blog post is not a negative in DevOps as the mantra should be fail-fast, fail-forward. A good APM platform will help you to isolate and automatically remediate emerging application issues quickly before they impact the customer. Therefore focusing on Mean Time To Customer Impact is an essential metric for DevOps and monitoring efficiency.
So here are my essential DevOps metrics. As mentioned, the list is not exhaustive but critical to any DevOps strategy. As always comments and feedback is welcome.
If you want to see how AppDynamics can support your DevOps adoption then please try our platform for free