Introduction To Effective Ways To Plan
Planning effective development agile iteration is key to successful agile development. The purpose of iteration planning is for the development team to complete the set of prioritized product backlog items, which were previously defined by the Product Owner. This commitment is time boxed based on the length of the iteration and development team velocity.
Prerequisites For Planning Effective Iterations
There are some prerequisites for making efficient iteration planning. Below are a set of relevant factors that must be defined prior to planning to be effective:
- The Backlog Items should have sufficient details for a good understanding of the requirements, otherwise it can put the iteration planning at risk.
- Backlog items were previously sized and analyzed by development team. It is very important that the team is confident about the previously analyzed backlog items.
- Prioritization of backlog items has been given by the product owner.
- Besides that, it is very important to clearly define the acceptance criteria for each backlog item.
What Can Influence The Development Iteration Planning
Beyond the prerequisites listed above, you must take into account some important variables that can influence the success of planning and consequently the success of the entire iteration. So, pay special attention to the below variables when planning the iteration.
- Complexity of backlog items to be developed: the complexity of backlog items selected to compose the development iteration is one of the most important thing to analyze in a development agile iteration. The backlog items should be decomposed into small parts (usually at the granularity of a work day or less) to possible provide the best accuracy of estimation and planning. Based on the estimation, the development team can select the backlog items that will be developed in the iteration. Each team has a fixed length of the iterations. If you are using Scrum framework, the iteration (also called sprint) is usually between 1 to a maximum of 4 weeks.
- The Development Team Capacity: this variable is related to the availability of resources you have to compose the development team. Don't forget to plan for the holidays and vacations for each member of the team. Usually, we can make a plan based on the percentage of working hours, for example, in a day of 8 working hours, we can plan 90% of the time for development tasks and 10% for planning and meeting tasks. There are tools that can be used to help with making the Team Capacity Plan. If you are using Microsoft Team Services, for example, the team capacity can be specified for each developer.
In addition, together with the Product Owner, selecting the items and setting a goal, the Development Team also create a plan of how the selected one will be developed. This plan is usually expressed by tasks to be performed during iteration.
To conclude, like any other activity involving project planning, regardless of the methodology used, it is important to learn to evolve with our own mistakes and successes. Don't forget to use the Retrospective Meeting to take note of these items and work on the next iterations.