In project management, the Agile framework involves the breakdown of the project into phases. Each phase is assigned within a specific time, goals, and resources. Within Agile is iteration planning. You must understand the iterative incremental model and how it helps in agile. Iteration involves the team members. The tasks in the team backlog are assigned based on their priority and completed within the set time. When we talk of the team backlog, this is the accumulated incomplete tasks and materials yet to be processed. So, the teams involved in the project select stories from the backlog. Each work is executed based on the length and velocity of the iteration. Here is a short overview of iteration planning to help you understand what it is all about in agile development.
The Prerequisites
During planning iteration, the main prerequisites involve the following.
- Pointing out the stories in the iteration backlog in agile. This involves sizing the items in the stories and having the stories assigned.
- The product owner evaluates the stories and gives the ranking based on priority.
- The criteria of acceptance are clearly stated, and the team members accept to work towards the goals set.
Once the following things are done, the next important step is planning each story in the iteration.
The Parties Involved
There are three main parties involved in iteration planning-
- The product owner (PO) views the backlog and the criteria.
- The Scrum Master assists the agile team.
- The Agile Team help to define the tasks and ensure efforts are estimated to fulfill these tasks.
- Any other stakeholder can also be present during iteration planning.
Planning Iteration
Before iteration planning, the product owner prepares a set of goals depending on the previous progress of the team. They do this by reviewing the iteration goals proposed, the priority tasks in the team backlog, and the team’s performance. During planning, the members discuss things like risks, obstacles, and options for implementation. In short, the product owner defines what needs to be done, and the team will define how it will be done. During this stage, the team elaborates the criteria in each story and estimates what needs to be done to complete each story. However, this will be based on the velocity and capacity of the team. So, the team determines how many stories will fit in an iteration. Then, the stories are broken down into tasks, and each task is assigned to a specific team. Each team is given around 4 hours to 2 weeks to complete the task. The members can then work independently, as long as they complete the task within the stipulated time.
Calculating Velocity
The velocity of each agile team is calculated based on its previous performance. So, each team is assigned a task based on its ability to complete the stories within the iteration. For instance, if the team was able to complete 10, 9, and 11 stories in their previous iterations, they can take 10 as their velocity in the next assignment. In short, the velocity tells how many stories the team can complete within a single iteration. If the team completes the tasks before the period ends, more stories can be added. On the other hand, if the team is unable to complete the tasks, the stories can be assigned to other teams.
Deriving Capacity
When deriving the task capacity, the team will require to quantify their ability to work in the iteration. So, each member will determine how much time they have to work in the team, the number of days they are available, and the overall ideal hours the team can work in a day. For example, if the team has five members, each available for 8 hours, and the task goes for two weeks, the team will be assigned 480 hours to complete the tasks. If a member is not able to complete the hours assigned for them, their work is distributed to other members of the same team.
Executing Iteration
Once the above things are done, the teams are ready to work on the stories. So, each story will be evaluated to see the relativity of the difficulty, the complexity of the tasks, the size, and any technical challenges the team might face. After this, each member must be committed to the iteration goals. Once the capacity has been determined and the stories assigned to the teams, no more will be pulled from the backlog until all the stories are completed. So, the team will commit to the iteration and the work involved, and everything remains fixed for the period set for each iteration.
The Bottom Line
Iteration planning is done based on the tasks in the backlog, the resources available, and the time. Mostly, each task is assigned for a single day or week, depending on its complexity and size. So, iteration planning takes into account the team’s velocity and capacity based on their performance in the previous iteration. Therefore, iteration planning plays an integral role in agile during project management.