About 9 months ago I tried to explain to one of my developers the idea of an iteration zero. Sort of a quick organization of setting up for the project for a few weeks. I tried to find some references to it to point him too, but I didn’t manage to find any even though I was convinced I read about it somewhere.
If Scott Ambler is right it’s an assumed idea for Agilists, but “little has been written about this subject.” His definition is:
Agilists refer to the initial iteration of a project as “Cycle 0,” during which you determine whether the project is feasible, setup the technical environment, start building the team, and do sufficient modeling to support these activities. Sounds like what you do on a traditional project? Absolutely. The difference, however, is agilists achieve the same goals with a lot less effort—Cycle 0 is typically a week or two at most.
Small anecdotal evidence, but out of our three official Agile pilots the one that went the smoothest had a good 3-4 weeks in Cycle 0. The other two leaped off on Sprint #1 with minimal planning. The biggest pain seemed to be that very little initial work had gone into requirements, use cases in our world. For Sprint #1 it was hard for the developers and QA folks to do estimates and it’s taken a while to catch up.