My wife and I just returned from our winter vacation, and this time I noticed some parallels with agile software development that I haven’t been aware of before. We travel by motor home and usually only have the first days and the general route planned. Often there is also a theme or a goal as profane has to be warm and have sunshine.
Each day we decide what to do next based on factors like the weather prediction and interesting places to visit, which we often discover while we are traveling. The nights we spend at special motor home parking lots or campgrounds, depending on availability and our needs like electricity or a hot shower. We usually only spend one day at a place, sometimes two if we have to do the laundry or are tired of driving. This all reminds me a lot of agile software development. When we travel we have a general road-map, one or two day iterations, retrospectives in the evening and the presentation you can soon see on our travel blog and Flickr. If necessary we completely adjust our plans and change course. During this vacation we switched from the Mediterranean to the Atlantic coast because of the weather prediction. A drastic change in course but it also gave us the chance to see new interesting areas where we have not been before.
The flexibility also has a price. The unexpected is often positive and a surprise but sometimes also negative and one has to deal regularly with uncertainty and problems. The alternative would be a fully planned and organized vacation, as so many tour operators are offering them for a lot of money. In the past we have rented an apartment somewhere for the length of the vacation and explored the region around it. Sometimes we returned early as the weather turned bad, or we had seen everything and didn’t feel like staying in the apartment, which was not as nice as our own home.
In spite of some nasty problems on the last tour, I prefer agile traveling, just as I still believe in agile software development. It is not always easy and fun but in the end the result is likely to be better.