On my last blog entry I introduced some zero-order measurements for agile software teams which I use quite often. One reader asked for an explanation:
Could you elaborate more about zero-order measurements? What does it mean?
Here is the primer.
Actually, Jerry Weinberg writes about zeroth-order measurements in his book Quality Software Management Volume 2 – First-order measurement. He has more to say on the topic, and I must admit that I forgot most of the important things since three years ago when I read the book. So, this is my definition of zeroth-order measurements – or zero-order measurements.
A while ago Michael Bolton wrote a great introduction to the different measurement systems in his article Three kinds of measurement and two ways to use them. Let’s contrast zeroth-order measurements to first-, second-, and third-order measurements according to the definitions in Bolton’s article.
First-, second-, and third-order measurements
First-order measurement, [Jerry Weinberg] says, is what we need to get started. […] first-order measurements “are unobtrusive, or minimally obtrusive, and can be used without a whole lot of fuss. They help give you a lot of important information that can lead to other information or, in the best case, to immediate action if needed.
First-order measurements remind me of Daniel Kahneman’s System 1 decision-making that he describes in his book Thinking fast and slow. While driving our car we make a lot of immediate decisions influenced by a lot of first-order measurements like how fast the car is running currently without looking on the meter. We do a lot of first-order measurements when walking in a crowded street. We measure the personal comfort zone of the people around us, and try to steer our way through the masses without knowing how far each of the other pedestrians is to us.
First-order measurements provide us with immediate action. We use them nearly subconsciously, and can make quick decision based upon them – even though these decisions will not always be the most perfect ones, but satisficing enough.
Second-order measurement focuses on questions like What’s really happening? and How is it changing? tending to be more quantitative, subject to more refined models, and generally busier than first-order measurement. It is often assisted by external instruments to supplement or refine direct sensory intake. In particular, metrics–mathematical functions that relate objects or events to numbers via a model–are second-order measurements.
Second-order measurements consist of replacement measures. For example, if we measure the amount of lines of code a programmer is producing as a replacement measurement for their productivity, we are not really measuring the productivity, but some clues that might or might not be proportional to the thing we would like to measure. Another example is code coverage in order to assess the quality of automated checks behind a particular system, or requirements coverage for the state of a traditional test project. We are not really assessing the quality of the testing being done, and we are absolutely neglecting the thought that there might be unstated requirements.
But Second-order measurements resonates to the car situation when looking at the meter in order to decide whether to slow down, shift gears, or find out more about the fuel consumption of your particular driving style.
[Third-order measurement] is the kind of precise, highly quantitative measurement that supports the physicist’s search for new natural laws. It helps us answer the question What happens? in a universal and general sense.
Third-order measurements provide the basis for laws. Laws in science neglect the human impacts like variability based upon individuality. These seem to really be on a even higher level than second-order measurements – like most KPI systems I have seen.
With this background, what are zeroth-order measurements? Stating the obvious, they are one level more subconscious than first-order measurement. When I enter a project, and one of my zeroth-order measurements starts to alert me, I know that something is really screwed, and I have to raise attention to this problem or threat. It’s the thing that kept the kids from the plane in the movie Final Destination 2 – a sense that there is something obviously threatening even fatal to happen soon – and we must do something about it, now.
A zeroth-order measurement is a quick qualitative assessment based on my own experiences and my baseline from the various books I have read, that tell me whether everything is all right, or I should start to worry. They are a bit more than intuition, but intuitionalized the knowledge and experiences from my past and my peers. When they alarm me, I know it’s urgent, dramatic, and sometimes even fatal.
I hope this description and comparison helps to see the zeroth-order measurements for agile projects in the right context.