Having spent my career focused on continual improvement, I have a love/hate relationship with data. I love it because without it you cannot improve. I hate it because you often cannot get the data you need. When the data is unavailable or hard to find, you spend tons of time piecing information together. This manual manipulation of information and data impacts one of DevOps’ fundamental values – measurement.
Measurement, as a DevOps practice, is about measuring everything: all people, all process, all technology, that has an impact on business. Now, as a data-loving person, I love this practice. The more data, the better. However, from a practical standpoint, this practice is very challenging to implement.
Let me rephrase, it isn’t ‘process’ that is the problem. The problem starts because you may have decided you don’t need or document process because, as you ‘matured’ out of ITIL into Agile and DevOps, you took the concept of ‘working software over comprehensive documentation’ from the Agile Manifesto to the extreme.
Or maybe you have moved from functional silos to cross functional teams where you have removed constraints which will likely help move work quickly through the lifecycle, but is also likely to come at the expense of standards and principles.
If that is the case, then you are left with an inability to efficiently capture data. Now, if you’re lucky, and people and process don’t present any obstacles, then the measurement of technology is likely the next piece of the puzzle that’s out of whack.
From a technology standpoint, the optimal way to get value from measuring is to understand how technology impacts the value IT provides to the business. However, if you are like most organizations, the knowledge of WHAT produces value and HOW it should be measured is unknown or almost non-existent. Needless to say, this complicates things.
Hopefully, your organization is not facing challenges in all 3 areas – but no matter where your particular challenges lie, there are 8 steps you can take to develop a healthy relationship with data:
1. Don’t try to boil the ocean! Start where you are.
2. Determine what your goals are based on your current state. This goal should be time bound. Think in terms of we want to get to point B in 1 year from our current point of A.
3. Based on your goals, assess your current measurement systems regarding people, process and technology. Keep this a high level assessment. Keep it within scope of your goals.
4. Do a gap analysis of what you ‘should’ measure versus what you ‘can’ measure.
5. Depending on the gap and the criticality of the goal, you may want to make a request for additional tools to improve your measurement capabilities (can be tools, skills, etc.).
6. Implement the measurements.
7. Make sure you are getting the full picture and not focusing on only one aspect. If you focus on only one aspect, you often drive actions that are not in alignment with the overall objectives.
8. Analyze. Report. Take Action.
In this day and age, there is no shortage of monitoring and reporting tools that can help an organization ‘measure.’
An organization needs to put some thought behind their goals and then decide what they need to measure to help modify and drive the behavior of people, process and technology that supports the environment.
There is no doubt that in a DevOps world measuring is important but, remember, data is only as good as the steps you have in place to act on it.
By Tami Church, DevOps Institute Portfolio Manager