There are 3 levels of planning in Agile. They are Release Planning, Iteration Planning and Daily Planning. These planning meetings help the Scrum Master, Product Owner and the rest of the team in understanding how the product will be delivered, the complexity involved and their day to day responsibility in the delivery of the product, among other things.
Now we will go into detail of Release Planning, Iteration Planning and Daily Planning.
Release Planning is usually performed during the Sprint zero, where there is no product increment delivered. The whole Sprint is dedicated for planning the next release. It is a way of looking ahead on defining what the release goal is, what features that need to delivered during the release, defining the release backlog, breaking features and epics into user stories, writing acceptance criteria for all stories, and estimating the user stories. Release planning also helps team members in defining the test strategy and test approach planning for all iterations. Release plans may change based on new stories added or deleted. The status of the release is tracked prospectively every sprint to understand what it takes to meet the release
At the start of the release planning, the Product Owner sets the release goal and release time frame. The Product Owner also collaborates with the team (see Collaborative User Story Creation), based on the user stories the team performs high architecture evaluation and high level effort estimation in agile.
Testers are involved in release planning and perform the following activities:
- Write User stories and acceptance criteria
- Seek clarification on those user stories where there is insufficient information.
- Determine the high level test strategy for the whole release
- Point out any testing risks they might occur
- Do a high level test planning
- Define the number of test levels to be performed.
Iteration 1 planning is done after release planning. The team pulls the stories into the sprint backlog from the product backlog and tasks them into independent tasks of fewer 8 hours each. The also performs risk assessment of stories and decides on a light weight plan on how to address the risks as the sprint moves forward. The team asks questions to the Product Owner on clarifications that might make them to understand the stories in more realistic way. The number of stories that the team pulls in the sprint may depend on team’s capacity or velocity (if known). The capacity planning is done in hours and the velocity planning is done in story points. The team makes a commitment to the sprint backlog and changes the sprint backlog as it emerges.
The testers are also involved in the iteration and can contribute to the same in the following ways:
- Breaking user stories into testing tasks
- Determining test coverage of every story
- Creating acceptance tests for user stories
- Estimate the testing tasks like creating test strategy, test plans and test cases specific to user stories
- Understand and plan for automating user stories and support various levels of testing
Release plans are not static documents and they are liable to change as the external and internal factors change as the iteration executions take place. The release plans may also change due to various internal factors like delivery team capabilities, velocity of the team and technical competencies. The examples of external factors are change in target segments, threat from substitutes, change triggered by superior competitor product. The release dates may be adjusted or scope may be cut down to adjust for the changes.
As per Scrum, no changes are allowed during the sprint by the Product Owner. The Product Owner cannot add new stories to the sprint backlog during the sprint and distract the team from the executing the sprint goal. The Scrum master must help the team to see that the product owner does not disturb the team, by inserting new work into the team.
The team, especially testers must understand the big picture in order to release a fine quality product. Any ambiguity regarding the test planning must be carefully considered after due consultations with the rest of the team.
Release and iteration planning broadly helps the team to prepare test planning checklist related to the following items:
- The team members responsible for testing
- The scope of testing and testing goals to be carried out
- The test environment that needs to be setup
- The test data to be collected that helps the testing team
- The sequence of test activities, dependencies and interfaces related to testing
- Any project related quality tests that surface during testing (see Assess Quality Risks in Agile).
Daily Planning Meeting in Agile Development
Daily Planning meeting in agile are also called as ‘Stand up meetings’ where the development team and testing team meets daily to discuss What progress in the assigned task they made yesterday, What tasks they have planned to do today and what tasks they will do tomorrow. In addition to these details each member has to tell that how long they are going to take to complete the assigned task within the sprint. If any remaining or pending task of any member of the team is not completed in that particular sprint then they notify such details in the daily meetings. Accordingly the pending task(s) from the previous sprint are taken care in the next sprints. Likewise if there are any changes in the requirement from the customers or any build issues or any blocking issues then such details are also discussed in the meetings.