I feel there are three issues to consider;
- the level of automation available
- the maturity of the team
- built in overhead of Agile Ceremonies
Short iteration cycles are dependent on high levels of automation
1. Automated Build
2. Automated Deployment
3. A high % of automated testing both functional and regression
If these system are not in place you will very quickly get to a point where your velocity drops because the code base has reached a point where it takes so much time to do all these steps manually that there is no time to develop new features.
The maturity of the team and the overhead of agile ceremonies are interrelated. If a team is new to Agile it takes longer to groom the backlog, task out stories for the iteration planning meeting and get through the review and retrospective meetings.
In Ken Schwabers book “Agile Project management with Scrum”, He suggests time boxing your Sprint Development Meeting to 8 hours, your Sprint Review to 4 hours your Retrospective to 3 hours and your daily stand up to 15 minutes a day. Added all up you have just spent over 40% of your development time in meetings.
Granted when he said this he was talking about an iteration length of 4 weeks or roughly 10% of the available development time. While I agree that smaller iterations require shorter meeting times I don’t believe nor have I ever seen all these ceremonies compressed to fit the 10% time commitment suggested in Ken’s book and this delta between optimal and actual is larger the less mature the team is.
Personally I would not want to go smaller than two weeks but if the team wanted to try a week I would be willing to try. I just think that the value derived would be smaller. I guess I will have to try it and develop some numbers.
I would be interested in hearing your results.