You must take care in choosing an iteration length for your project. While shorter iterations allow for more frequent delivery and more opportunities for feedback from stakeholders, they come with costs:
- Short iterations mean more end-of-iteration demonstrations/reviews with stakeholders. Your stakeholders may not have enough time for your team for frequent reviews.
- More complex solutions may be very difficult to break down into small enough functional pieces (user stories) to have anything meaningful delivered in a short period of time. You need to examine your solution decomposition to determine what would be a good iteration length based upon the structure of your work activities.
- More iterations mean more iteration planning, more retrospectives/iteration reviews, more demonstrations, and more overall management. This means a higher percentage of your team's time will be unproductive. At some point, the higher administrative costs of excessively short iterations will outweigh the benefits of additional feedback and progress demonstration.
- The shorter your iteration length, the more likely you will need to rely on automated processes rather than manual ones for things such as software builds and testing. As you move through a project, more and more functionality needs to be regression tested to make sure that new elements do not negatively impact existing elements. Doing this manually could consume your entire team well before the end of the project. Automating these processes will become necessary at some point to succeed with short iteration lengths; note, however, that the automation tools come with a cost (both for the tools and the training) that needs to be considered.
It is important to choose your iteration lengths carefully and deliberately. Do not just choose a standard length because that is how your organization normally does it. The impact of choosing an inappropriate length could significantly hurt your project performance.