Part 3 of Bill Venners interview with Ward Cunningham: To Plan or Not To Plan
What you end up doing is this: in your head you think, “Oh! Oh! I know how this is going to come out!” But then you think, “Well, it will come out soon enough.” You could discuss it, but it will come out soon enough. You see stuff coming, but you ask yourself, “How would I make things better by discussing it?” We’re working together and you’re programming away. I could say, “Wait! Wait! I know what’s going to happen down here!” Well you knew what was going to happen down here. How does it help us get our job done for me to tell you what’s going to happen down here? You could say, “Stop! I want to draw on the white board what we’re going to do tomorrow, because I can see it coming.” Well maybe I can see it coming too, but why make a commitment? It will come soon enough.
This is very interesting, because I had generally thought that most XP people do some design, rather than rely completely on emergent design. I’ve generally put a little thought and whiteboarding into a feature before I sit down and start test-driving it. In this interview, Ward talks about using the programming language to communicate directly the idea for how to approach something. Very interesting.