Aim the arrow or steer the car?
It's been a busy week at work. We had three new developers start this week. David and I gave our standard "Here's what XP is and here's why we're using it" speech to the new guys today. I typically use the analogy from the first XP book that compares aiming an arrow at a target downrange (traditional) or steering a car down a curvy road (XP).
But David came up with a really good analogy for XP that I haven't heard before. He said, "Traditional software development is like taking a trip using Google Maps. You print out directions from your starting point to your destination, and as long as nothing goes wrong you'll get there just fine. XP, on the other hand, is like taking a trip in a car with a built-in nav system. In the perfect case, you'll follow the same route that Google Maps would have sent you. But in the event that you get off track or off schedule, the XP nav system lets you readjust and find out 'How do I get to the destination from here?'"
A very illustrative analogy. I thought it was worth recording here, since David still doesn't have a blog.