Pedagogical Pattern #18 The Three Bears Pattern (Version 1.0) Kent Beck 70761.1216@compuserve.com INTENT Remove "fear of failure" as a barrier to learning by making failure part of the goal. MOTIVATION Learning is experiential. Without experience, there is no learning. However much the learner wants to learn, getting over the barriers to experience can impede or even completely block learning. Confident learners to use failure and frustration as investments whose payoff comes in future success. Most traditional schooling systems are so effective at punishing failure that the confidence to fail is rare and dearly bought (and who said the school system can't teach?) Many topics challenge the learner to find a balance along some continuum. How much should a point guard shoot? How often should a developer refactor? How strictly should a musician follow the rhythm? Effectively answering these questions requires that the learner discover a position or range along a continuum from "too much" to "not enough". Learning to find a balance poses particularly severe barriers to gaining experience for the learner. There is no chance the learner will be successful the first time, unlike many other learning activities. Even if they fell into the right balance, chances are the learner would not recognize that the balance would be struck. STRUCTURE Continuum- Define the continuum for the learner. A simple approach is to explain the reductio ad absurdum on either end. Experiment- Give the learner a chance to locate the balance in three places- either end of the continuum and right in the middle. Review- Give the learner the chance to reflect on the three experiments. Implementation: 1. Define the continuum- I have had good luck with the reductio ad absurdum strategy. I also like posing a set of questions that will be asked of the resulting balance. For example, in reviewing the point guard's decision about how much to shoot, I would ask "Did the other players get into the flow of the game?" "Was the defense forced to guard you closely?" "Did you win?" 2. Conduct the experiment- You want the learner to experience all three options close enough in time to accurately compare them. Reduce the topic to something that can be accomplished in less than an hour, if possible. 3. Review the experiment- One technique I've found helpful is to have the learner briefly present the three solutions, then have the rest of the class guess which was which. This can help learners who haven't yet learned the true boundaries of the continuum. CONSEQUENCES +The learner has failure as a goal, so fear of failure will be less of a problem. Some learners just can't get over the fact that they "have to do it right" eventually, however. +The learner understands the continuum by explicitly experiencing its ends. -You may have over-simplified the topic for the learner by reducing the topic to a single continuum. KNOW USES I may have picked this technique up from "Disney Animation: The Illusion of Life" by Frank Thomas and Ollie Johnston. In it, they relate the story of a frustrated Walt Disney telling his animators to exaggerate the movement of characters. The result was just what he was looking for. I have taught requirements engineering with this technique. I ask the learners to write stories that will define the system- one too large in scope to be useful, one too small, and one just right. I taught this technique in India and ended up telling the story of Goldilocks and the Three Bears after lunch. I have taught pattern writing with the Three Bears. Tyro pattern writers often struggle to find the appropriate scope for their patterns. I use The Three Bears in my own learning all the time. When I got a Smalltalk with the constraint-ish ValueModel framework, I deliberately wrote a system that used it too much. When I learn a piece of music, I deliberately play it like a metronome and with the beat wandering all over.