Prioritize

I attended a wedding a few weeks ago. Everything was fine, maybe a bit hot (several days in the 30°C area are not that typical around here). The register office, where the official part took place, and the party location were some 30km apart. So someone organized a car to get the bridal couple to the party location. Nothing unusual about that. And what a nice car it was: a Porsche Cayenne Turbo S. Since these are pretty boring from stock, it was a tuned one. You know, the kind you see in music videos (well, if music videos still existed…): it had fancy rims,  exhaust pipes, extra hp (since 550 are not enough) and probably some more stuff.

Don’t ask me how, but I somehow managed to get earlier to the party location (Golf Estate for the win! could have been that I entered the wrong address into satnav and accidentally drove around the traffic jam…) and was able to welcome the bridal couple there. So the big car came around and the people got out: totally sweaty!

So what happened? Well, there was no air conditioning in the car! The driver explained to me that they had to remove the a/c for some fancy tuning equipment. How there is not enough space in a car as a big as a Cayenne is something that I didn’t really understand, but anyway…

So how does this relate to software development and testing? Someone took something that worked pretty well, refactored it and put some fancy features in it but had to remove others, more viable. So whenever you refactor something that works pretty good, please see to it that you don’t kill some “must have” for some “nice to have” features and be sure that you don’t lose sight of user’s needs (and yes, I call an a/c a need with temperatures above 25°C). And make sure that those “must haves” are covered by the tests you have at hand first. Regardless of how you call it – happy path, must have, priority A – those are the tests that should be there, don’t dissipate your energy and time for testing those fancy “nice to have” things. If there is time and money left, great, do it, but it certainly shouldn’t be your starting point!