Someone posted this image on Twitter yesterday, and I surprised myself by reacting so strongly to it that I had to blog about it:
The Writer in Red has some important points (which I’ll discuss below), but the initial bald statement “one of those people is wrong” really irritated me. The image is trying to get across an important pedagogical point: There can be more than one “right” answer to a problem.
There is this thing called Perry’s taxonomy of cognitive development, directly relevant to my day job of teaching Software Engineering to 3rd-year university students. The first few levels can be mischaracterized as:
- There is a right answer to every question, and Mommy knows it.
- There is a right answer to every question; Mommy doesn’t know it, but somebody else does.
- There is a right answer to every question, but maybe nobody knows it (yet).
- There can be multiple answers to some questions, and everybody has a right to their opinion.
- There can be multiple answers to some questions, but some are better than others, and which is best changes with context.
My gut reaction was that the Writer In Red is, rightly, arguing against #4 as a stopping point, but the opening clause strikes me as trying to regress our thinking to #3 instead of advancing to #5.
Sure, if two people disagree, it’s a good idea to explore the basis of the disagreement and try to find additional information that could resolve it — and a lot of the Writer’s suggestions are good ideas about how to do that in this specific case. But sometimes the decisive information just isn’t available, and the disputants need to learn how to cope instead of continuing to argue, and accept that each has a different context: “From my perspective, this looks like a 6; from yours, it looks like a 9; to that other Twitter poster, it looks like a lower-case g.”
I have to agree with the Writer that #4 is a bad place to stop, but the implication of Perry’s work seems to be that it’s a necessary intermediate step in cognitive growth.
The “multiple answers, depends on context” thing is part of learning how to write trade-off studies. There can be multiple solutions to a problem, each good in some regards and weak in others. The students have to learn to look for multiple solutions, analyze their strengths and weaknesses, and, if there is no one answer that clearly dominates all the others by all measures, present rationales for why to choose one over another. That often boils down to a choice of metrics like “speed is more important than storage requirements for this particular situation,” or vice-versa. Someone other than the engineer might need to make that choice — imposing a “right answer” from the outside — but sometimes the answer is “we don’t know yet.” So that becomes a place in the design where you want to be very careful to structure a solution that can be changed when the decision-makers change their minds. And that critical skill requires that you recognize the possibility of multiple answers, and multiple contexts, and develop the mental tools for coping with uncertainty.