Iterate, Iterate, Iterate
November 17th, 2008 by Owen JohnsonThe value of agile development has been espoused by many during the past decade, but for those not in the software industry(and for many that are), it’s sometimes hard to understand why quick iteration is a good idea, so I’ve come up with a few concrete, common sense examples to help anyone understand why several fast turnarounds are preferable to a single large deadline. Ready, think hard about this – would you rather:
- have three two-hour work sessions or one six-hour work session?
- eat one three-pound hamburger in a single sitting or three one-pound hamburgers in three sittings?
- watch three two-hour movies or one six-hour movie?
For those having trouble deciding, I’ve put my suggestions in italics. If you disagree with my suggestions, you are likely an outlier or out lying to yourself about your capability.



These examples do seem self-evident as to why iteration is preferable, but for the sake of argument, could you explain the reasoning that makes iteration better?
One could argue that it is more efficient to do more in a single bloc of time, since there is no transition time between the iterations of stopping and starting. Maybe longer stretches are more suited to someone with a good attention span and higher endurance.
The longer one waits to test one’s assumptions, the more likely there is a chance that one of them is incorrect and that the work being performed is based on that incorrect assumption. Better to test assumptions early and not waster effort going down unfruitful paths.
Balance is everything however, there must be enough created to allow for a meaningful test by users.