Iteration is at the core of all Agile methodologies. However, individual iterations are challenging to plan and execute properlyrequirements can be unclear, small tasks can fall through the cracks, and problems can be difficult to solve without input from remote team members. Clearly, careful iteration planning is critical, although the planning process itself can be one of the greatest challenges to Agile software development.
Iteration planning meetings identify what teams will accomplish in the next one- to four-week-long iteration cycle. Prior to iteration planning meetings, the product owner prioritizes requested stories, then reviews those requests with the project manager and development team to ensure they understand the requirements well enough to estimate effort and plan tasks. During the iteration planning meeting, team members determine what tasks need to be accomplished, then estimate how much they can accomplish. However, good planning meetings must also include customer collaboration to understand requirements, and whole-team input to create task lists with accurate estimates. But due to the distributed (often global) nature of stakeholders in today's software development projects, just convening a planning meeting itself can be difficult.
In one project I was involved in, iteration-planning meetings were initially a very painful eight hours long, and resulted in incomplete task lists. Unfortunately, the project manager was also doing development, so he and the development team didn't have time to analyze tasks completely. Consequently, we uncovered additional tasks during iteration, and had to continually add those unplanned tasks and move planned tasks out. This caused confusion for management and support because they didn't know what features were going to be completed by the end of an iteration.
The emergence of online collaboration tools provide the communication and input needed for successful iteration planning, resulting in iterations that run smoothly and efficiently. And as we've become more experienced with using online collaboration, our iterations have become more accurate and iteration planning meetings have shortened to three hours.