When I was a young lad, oh say about 25 years ago, I paid my way through college on a Navy scholarship. Now besides the really cool uniforms and getting to spend my summers flying jets and sailing ships, I also had to take some really tough classes. The Navy is a highly technical organization, and in essence every officer has to have a strong foundation in engineering physics and calculus, at a minimum. But these weren't the toughest classes. The toughest was navigation. There is an art to navigation, and there is also a science to it. I'm sure we can all think of another profession that contains an equal mix of art and science, but we can talk about that later. I want to keep telling my story.
Besides learning how to read star charts and use a sextant, only to find out at the end of the class that the military has this cool thing called GPS that tells you within a few feet where you are, we had a semester/long navigation project. The project was to plot a course from Norfolk naval station to Liverpool. We had all of the charts (maps to you landlubbers) for determining how to get out of the harbor, around the sandbars, and then out to the open ocean. We then set the course for the ship, with periodic corrections to take into account that the earth is not flat, until we reached Liverpool. Each class, we would get a set of star readings to evaluate where we were and we would plot it on our charts.
Funny thing happened on my way to Liverpool. I'm sure it had nothing to do with meeting the woman who would later become my wife, but I missed quite a few classes. Instead of going twice a week, I ended up going every week or so. I would get my star readings, and try to update my charts and adjust for the new readings, but everything seemed to get further and further out of whack. On the last day of the course, I got this sinking feeling. I followed my course and speed, from my last readings. Sure enough, I had landed right where I intended to....er....in Madrid. Now I imagine the residents of Madrid were rather surprised to find an aircraft carrier in their landlocked city, but there I was!
Ok, so what does this have to do with agile development? It is my argument for shorter iterations. I have worked with agile teams that have anywhere from one week to five week iterations. I contend that it is the folks with shorter iterations who will have an easier time seeing that they are drifting off course, as all projects do. They will also be able to make minor, sometimes almost effortless adjustments to get themselves back on course. Longer iterations, or worse no iterations, make it very difficult to see when you are getting off base, until the keel starts to scrape across the sand.