Wednesday – 8:30-10:00
Convention Ctr - Exhibit Hall 4B

The Metaphor Metaphor

Kent Beck
Three Rivers Institute

Of all the aspects of Extreme Programming, the suggestion that customers and developers share a common metaphor or metaphors for the system is the most problematic. "We're doing all of XP (except metaphor, of course)," read a recent email. Having tried to explain it every way I could, folks just aren't getting it.

There are two possibilities: I have done a poor job of explaining metaphors and their importance, or I'm flat wrong and metaphors just aren't that important. So, here's the deal--I will try just once more to explain the positive role of consciously metaphorical thinking and the danger of letting your metaphors ride you instead of the other way around. If it works, if people get it, great. If not, I will swear off trying to explain metaphors forever.

Examples will be taken from programming, business, and (in keeping with the self-referential title of the talk) OOPSLA itself. At the end of the talk, we will take a vote on whether metaphors and their importance to programming are beginning to make sense, or if I should just shut up about it.


Kent Beck is best defined in terms of relationships. Following work by Jim Coplien and Ward Cunningham on software development process, with Ron Jeffries and the C3 team at Chrysler he invented and named Extreme Programming, resulting in the Jolt Productivity Award-winning "Extreme Programming Explained: Embrace Change." He is the co-author of "Planning Extreme Programming" with Martin Fowler, with whom he also collaborated on "Refactoring: Improving the Design of Existing Systems." With Erich Gamma he is writing JUnit, the award-winning de facto standard testing tool for Java.

With Ward Cunningham he wrote HotDraw, a widely copied drawing editor framework, pioneered patterns for software development, and popularized CRC cards. He channeled the Ancient Smalltalk Masters to produce "The Smalltalk Best Practice Patterns," and is currently reviving a decades-old technique in the forthcoming "Test-Driven Development By Example." He lives on a southern Oregon farm with a dwindling but still-impressive gaggle of children, his lovely wife Cindee, four dogs, and a bunch of chickens.