What is Sprint planning in Agile project management?

Sprint Planning meeting is one of the key activities in Agile project management. (see Release and Iteration Planning). Generally, Agile teams need to deliver a working product at the end of  each Sprint. However some organizations also use a Sprint Zero. Sprint Zero is used exclusively for planning the first Sprint and no work product is delivered at the end of Sprint Zero. Usage of Sprint Zero is decided by the team and complexity of the project.

Not all projects and organizations use Sprint zero. Many teams directly start with the first Sprint and the activities listed below are incorporated as part of Sprint planning meeting.

The developers and testers collaborate with the team on the following activities during Sprint Planning meeting:

  • The Product Owner explains the release goal and walk through the release backlog.
  • The Product Owner also explains the big picture and vision.
  • The team with the help of the Product Owner breaks down requirements into user stories, details the acceptance criteria and sizes them.
  • The team also creates a high level architecture design.
  • The team plans for necessary infrastructure items and tools for the release (e.g., for test management, defect management, test automation, and continuous integration)
  • Team creates the initial test strategy for various test levels to understand the test scope; technical risks and initial risks analysis (see Testing Quadrants, Test Levels and Testing Types).
  • The team establishes various metrics to measure the progress with the help of Scrum Master.
  • The brainstorms and creates the Definition of done.
  • The team creates the big visible task board

Integration:

The end to end integration of code is important to deliver continuous and frequent business value to the customer. It may also be important to identify the dependencies and interfaces between various features and functions of the product during the Sprint Zero.

Test Planning:

The Sprint Zero involves test planning and test strategy that may be adapted for the each Sprint during the release. Please click on the link Release and Iteration Planning.

Agile Testing Practices:

Many XP practices can be useful in scrum team, three of them are:

  • Pairing: Two team members (e.g., a tester and a developer, two testers, or a tester and a product owner) get together to work on a user story and focus on it until it is done; this increases the cross learning and quality of the product.
  • Incremental test design:  The test cases and test scenarios evolve gradually and emerge as the system is incrementally built.
  • Mind mapping: It is a important and useful tool for testers. For example: Testers may use it to identify the test areas, scenarios and articulate test strategies to describe the test data.

A sample template of tasks which teams discuss and focus on during the Sprint zero/Sprint planning is given below

1.     Team Norms

  • Team Name:
  • Team Name format for communications:
  • Sprint Length:
  • Email Distribution List (DL):
  • Daily Stand-up Time:
  • Team site:  SharePoint? Wiki? Confluence
    • Add docs, team norms, team members, etc…team page
    • Link to SVN/GIT docs
  • Be on-time/end-time – respect time boxes
  • Practice Scrum Values – (honesty, courage, respect, commitment, focus)
  • Team member first, specialist second (help when/where needed)
  • Stick to priorities
  • Be Transparent
  • Capacity base – 6 hours
  • Communication
    •  Distribution List (DL), SameTime/Lync/IM, daily stand-up, Discussion in Rally/JIRA/any other planning tool
    • Rally/JIRA/other Agile planning tool (tasks, estimates, metrics – virtual & mobile)
    • Schedule recurring Sprint meetings
    • Schedules may not align, be creative, but do best to include all team members
  • Backlog/stories
    • In Rally/JIRA/other Agile planning tool

2.     Infrastructure

  • Testing of User Story implementation cannot begin until an environment is available
  • Environments & Builds
    • Pre-Dev Integration Testing: Nightly or request manual builds (if applicable)
    • Dev Integration Testing (DIT): Target end of  date; builds schedule
    • Final Integration Testing (FIT): Target date
    • Coordinate with other teams affected

3. Defects

  • Identify tool for defect tracking
  • Start with using Rally/JIRA/other defect tracking tool
  • For defects that are dependent on other groups open one defect in defect tracking tool and communicate to the other group
  • Defect is opened in defect tracking tool when
    • Issue cannot be fixed during current Sprint
    • To tackle time zone challenge in distributed teams
      • Team in USA finds issue or offshore team has question at 5pm EST – Send email, open defect, use Story/Test case discussion thread
      • Don’t just open defect and assign – Must follow up with communication/contact

  4.    Project management tools

  • Identify which tools are to be used for task assignment, defect tracking etc