I was thinking of the immortal words of Socrates, who said, “… I drank what?”
(Val Kilmer as Chris Knight in “Real Genius”)
More than 2400 years ago, Socrates was convicted of corrupting the youth and impiety, for which he was sentenced to death. It was a high price to pay for asking embarrassing questions. And yet, Athens gained little by it. It’s prime was long past, and no matter how many critics it silenced, it could not regain its former glory.
So why the history lesson? Earlier this month, Dan North posted a brief notice that he had just returned from the Norwegian Developers Conference in Oslo and that they had published his article about opportunity cost in development leading up to the conference. The premise of the article was summed in the penultimate sentence: “So take nothing at face value, and instead look for the trade-offs in every decision you make, because those trade-offs are there whether or not you see them”. Encouraging people to evaluate their practices in light of the trade-offs involved did not strike me as a radical position, but it certainly attracted some heated comments. One in particular stated that Dan and all who agreed with him were “disingenuously misleading the ranks of up-and-coming programmers into wasting their time looking for better design methodologies than TDD when no such beast exists”.
That’s a bold statement. It assumes that x is universally applicable. It assumes that a x represents perfection and no further refinement is possible. Lastly, it assumes that questioning x is wrong. History has never been very kind to those holding these opinions, regardless of what we substitute for x.
There’s always an exception. There’s always something better down the road. Informed choice is superior to blind acceptance.
Those who question either prove the soundness of the current way or point the way to a better solution. Teaching the young to critically examine their methods lays the foundation for a stronger future. It certainly doesn’t corrupt. I know that I put more faith in anything strong enough to tolerate scrutiny than not.
Ironically, while all this was playing out, I stumbled across a post by Alistair Cockburn promoting “a discussion about whether idea (agile or plan-driven or impure or whatever) works well in the conditions of the moment”:
I’m tired of people from one school of thought dissing ideas from some other school of thought. I hunger for people who don’t care where the ideas come from, just what they mean and what they produce. So I came up with this “Oath of Non-Allegiance”.
I promise not to exclude from consideration any idea based on its source, but to consider ideas across schools and heritages in order to find the ones that best suit the current situation.
I think that covers it nicely.