Independent consultant, speaker, writer and trainer
Kevlin Henney (@KevlinHenney
) is an independent consultant, speaker, writer and trainer. He has contributed to open- and closed-source codebases, been a columnist for a number of magazines and sites and has been on far too many committees (it has been said that „a committee is a cul-de-sac down which ideas are lured and then quietly strangled“). He is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also editor of 97 Things Every Programmer Should Know and the forthcoming 97 Things Every Java Programmer Should Know. He lives in Bristol and online.
TOPIC: Measure for Measure
When you track clicks, you are tracking clicks, not engagement. When we quote test coverage as a percentage, we are referring to the proportion of statements touched by our tests, not the paths executed or the quality of the tests. When teams measure sprint velocity, at best they are measuring speed rather than velocity, but all too often they end up measuring fuel consumption and not even speed. It has been said that you get what you measure, but H Thomas Johnson observes that "Perhaps what you measure is what you get. More likely, what you measure is all you’ll get. What you don't (or can't) measure is lost.”
Of the many pillars supporting effective software, its development and its deployment — logic, creativity, collaboration, empiricism, ... — numbers and numeracy are often assumed to be something we are already comfortable with. We are, however, easily fooled by numbers, often mistaking data for information and information for knowledge. What we need is more wisdom in our approach.