Reflective Praxis Thoughts on engineering and software development

Green Triangles And Orange Squares

In his book, “The Reflective Practitioner”, Donald Schön recounts an interesting lesson conducted at MIT as part of a training program for teachers. It’s an interesting case study in communications and teamwork.

In the lesson, a group of teachers watched a video of two children playing a simple communication game. The children were separated by a screen. The child on one side of the screen had a set of blocks of various shapes and colors, arranged in a pattern. The child on the other side of the screen had an identical set of blocks, although not arranged in any particular way. The goal of the game was for the child with a pattern of blocks to give the other child verbal instructions that would recreate the pattern of blocks on the other side of the screen. It sounds like a simple exercise, yet within a few instructions the second child was clearly going astray.

Why didn’t you do what you were told?

Was the second child simply bad at following instructions? That was apparently what the teachers initially believed, and they set about trying to figure out how to help the child learn to be better at following instructions.

Then someone noticed that early in the sequence of instructions the first child had told the second to do something with a green square. Which was problematic, since the set of blocks had green triangles and orange squares, but no green squares. Things had gone rapidly downhill after that one incorrect instruction, even though the second child had been trying hard to follow the instructions. The teachers’ understanding of the situation was now totally different: the second child didn’t seem “bad at following instructions” at all. That child was instead viewed as doing theie best to make progress in a situation that had evolved from a foundational error.

There’s an obvious lesson in this story for teachers: don’t just assume that your students are stupid if they seem not to understand how to use the things you’re teaching. Instead, try to understand the reasoning they use when misapplying what you’ve taught, so that you can find the foundational errors that may be leading them astray.

What can you learn from green triangles and orange squares?

Even if you’re not a teacher, I think there are some lessons here for engineers as well.

For a start, you can think of the game as a metaphor for the client/engineer relationship. It’s not clear why the second child didn’t ask “what green square?”. Maybe questions were prohibited as part of the game. But you’re not prohibited from asking your client for clarification when they ask you to do something that seems irrational.

Conversely, it’s important to make sure that any communications with your client are clear and accurate. Make sure you’re not talking about green triangles (or, worse, green squares) when you should be talking about orange squares.

There’s a larger lesson here

Moving above the level of the game itself, I think there are several lessons we can take from Schön’s story:

  • Make sure you’re trying to solve the right problem. In the story, the problem was initially viewed as “the second child is bad at following instructions”. But the actual problem turned out to be “communication between the boys contained an early error”. Trying to solve the first problem will be an exercise in frustration, since it isn’t a real problem.

  • In the same way that one wrong instruction early in the pattern-making sequence leads to all sorts of confusion, a poorly understood or communicated requirement can lead to a confused design. It’s worth expending some time confirming that your understanding of the requirements for a system really matches what the client has in mind. And that what the client has in mind actually makes sense (no green squares!).

  • If a client or co-worker is doing something that makes no sense, put yourself in their position and try to understand the reasoning that led them to their viewpoint. The people you work with probably aren’t stupid, but they may have a very different understanding of the situation, or a different set of facts, than you do.

I’m sure there are other lessons here too. Schön’s story is a simple one, but it provides rich fodder for reflection about communication, problem solving, and collaboration.