In reading the current batch of blogs about agility, every now and then I come across someone noting that “testing after development is not optimal”. Or some such.
Anyone mind if I’m a little more blunt?
Testing after development is stupid. Stupid. STUPID!
Of course, I know that now. The thing is that for a long time, before I was introduced to the idea of Test Driven Development, I kinda knew it. There was always that ghastly feeling “What will they find when they test this? Or worse, when we don’t have time to test this and the users start using it? Will I accidentally ruin someone’s livelihood because we didn’t check…?”
It was a miserable feeling. But until I learned about TDD it tended to end up in the “too hard” basket. I’d step over it. We all stepped over it.
So where else are we stepping over stuff? The Kruger and Dunning Effect says that stupid doesn’t know it’s stupid because it’s too stupid to know it’s stupid! More kindly, the good folks at Landmark Education, champions of having a great life in this life, point out that we’re disempowered by the stuff that’s living in “Don’t know that we don’t know”. Either way, it seems to me that once we realize that something is stupid, how on earth can it be ok to just let it carry on? It’s not.
I see people’s lives being trashed because they’re stuck in a culture where it’s ok to work 70 or more hours in a week. The crime is that they don’t have to, there are best practices proven to work in multiple contexts that would get them home on time. It’s what keeps me going in the face of a whole ton of resistance – I know that things can be better. I couldn’t sleep at night if I didn’t do something about that.