"You cannot manage what you cannot measure" - Peter Drucker
Most of us have heard this quote many times, though it’s probably more relevant to software development to say:
“You cannot manage what you do not measure”.
As software developers, we can figure out how to measure lots of stuff, and we can automate that measurement. We can even design in alerts to send us email when the measurements go out of bounds, or fail. But when we start getting lots of these alerts, and know that some of them are test issues rather than product issues, we often don’t pay close attention to them. Or worse, we create a folder in our inbox to capture them. The signal to noise ratio has gotten too low.
The problem is visibility. Maybe the better quote is:
“The squeaky wheel gets the grease.”
The squeaking provides visibility. Emails often don’t, all that text just looks like more text.
Something visual and in your face works best. The photo above shows a 42″ TV screen showing a web page of our continuous integration results using the Hudson open source platform. Into that we have programmed thousands of automated tests, some which run on every checkin, some nightly, etc. Unit tests, regression tests, performance tests, end to end user application tests, build tests, and kit tests; we are all over tests. When a test doesn’t pass, its light turns red.
Guess how much faster the red lights turn green now that we have the Hudson screen on the wall in our development space, in a place where people see it when they look up from their desks, and where they have to pass by it to get to the kitchen? I’d say what might have taken a day or so before, now takes a few hours. Issues (whether product or test) get noticed faster, and once noticed, they get fixed faster. It’s all about visibility.