Going to the gym

Kent "father of JUnit" Beck is a great story teller and not afraid to pioneer on controversial topics, especially when a new book he wrote is available. 😉 In this talk (2004) he brings up the notion of "software health" as opposed to just measuring quality.

The quality of software can be measured in many ways, but it is usually a static snapshot of certain point in time. Healthy software on the other hand will be able maintain a certain quality over time, even when unforeseen events happen, such a sudden changes or deadline shifts. He compares this with people. If two people are sitting in a chair reading a book, measuring the heart rate will not get much difference. However, when they suddenly have to run around, the person that is out of shape will quickly be panting and the difference will be obvious.

Kent argues that health is more important than quality. I fully agree with him. This is a business where changes happen, requirements are known to be unknown and technology evolves faster than an Apple iPod. It's more important to evolve and maintain practices that provide a certain quality baseline opposed to just meeting a certain quality metric on a certain date. I am happy that these ideas and concepts are getting more and more accepted and that we as a company try to put this into practice.

In another talk on the same conference writing developer tests is compared to "going to the gym". You are reluctant to do it because it seems like extra effort and a waste of time, but when you are done you feel really good. I like this analogy as well. Although writing tests does not provide the endorphins of a workout, it does shift the focus of the mind and looking at the same problem from the other direction. A refreshing and sometimes confronting change of perception that is a very valuable byproduct of testing.

Periodic reflection, improving and evolving the software seems like a good investment for software projects. Like going to the gym however, it is often perceived as extra work that does not fit in the schedule. We try to make up with fruity drinks and skipping some sweets, but staying healthy takes more than that. When was the last time you went to the gym?