I’m working with a group of people who are new to iterative development. They’re doing more of a staged delivery lifecycle than an agile lifecycle, but they are releasing about once a month. They don’t like it, because they say they’re releasing too frequently.
The problem is that their planning and releasing take too long for the length of their iterations (about one month). If you release every 20 or so working days, the planning can’t take more than about a half-day. The releasing can’t take more than a couple of days. But their planning was taking a couple of days and their releasing was taking up to two weeks. Way too long.
That’s when I realized that the time it takes you to plan an iteration (or a project) has to be reasonable compared to the length of the iteration (or project). And the time it takes you to complete an iteration (or a project) has to be reasonable compared to the frequency of an iteration (or a project.)
I’ve talked about the “sweet spot” organizations have for projects. Every group of people have some default start-up and shut-down time. The combination of that plus the work inside is the project’s sweet spot. I suspect one of the problems moving to Agile lifecycles is the need to change start-up and shut-down times–which can be quite difficult.
So, be aware of how long it takes you to start something (an iteration or a project) and end it. That will tell you whether you need to change things to make your iterations successful.