2nd May 2006 | Tags: programming

Great thought that came to me in the shower this morning: Agile software development is like driving.

Your team is driving the project to its destination. It’s travelling down a multi-lane highway. Some team members like driving in the fast lane, others take it a little more deliberate and cautious and go in the slow lane. But they’re all heading to the same place.

The team members like to mix it up a little, swapping cars and who drives, so that everyone can get a feel for the entire fleet.

The important thing is that everyone is in constant communication, even while they’re driving. If we find that we need to change destinations, it’s not a problem for everyone to make the right exit - even the guy in the fast lane - because there’s always someone in each car with the map. This is why we work in pairs: driving with a map in front of you is a hell of a lot harder than having a co-pilot/navigator.