In recent years, agile development has taken the world by storm - with approximately 71% of organisations adopting agile methodologies for their product vision. Furthermore, research shows that 90% of agile projects have demonstrated a faster time to market than conventional project management techniques. What makes agile so unique and successful?
What is Agile Planning?
In essence, agile planning focuses on finding answers to simple questions such as what are we building, how long it will take to complete, how much will it cost, who should be involved, etc.
Since it is a project planning method, it estimates work using units called sprints and iterations. Sprints are periods of at least 1-3 weeks in which the focus will be on small tasks that the team must complete. Agile works by identifying which items are completed in each sprint and creates a repeatable process to support teams and discover how much they can achieve.
Does agile differentiate between the estimation of duration and estimation of size?
Unlike other project planning tools, Agile delivery works in a different way. It essentially breaks down projects into small, self-contained units which can deliver value to customers. Multiple teams plan for what they want to achieve and how to satisfy customers in a short timeframe.
This blog will focus on the step-by-step guide on properly breaking down your projects and planning small iterations that your team can reliably deliver every time.
Four key components of agile planning:
1. A standard agile plan gets split into releases and sprints
Agile planners help define a release, which involves developing a new product or updating an existing product. Each release gets split into more than one iteration, known as sprints. Each sprint has a fixed length, typically 1-2 weeks, and the team has a predefined list of work items to focus on in each sprint. The work items are known as user stories.
Then, the release plan gets broken down into several iterations (sprints) that include user stories (items)
2. Planning revolves around user stories
What makes agile planning dissimilar from other conventional project management methodologies such as PRINCE2? In traditional software development teams had very detailed and technical specifications of precisely what they would need to acquire to complete their tasks. As for agile planning, the team needs to document what the user needs. Using agile planning, the team can use sprints to figure out how to address that specific need in the most convenient way possible.
3. How planning is incremental and iterative
Unlike the other project planning tools, agile focuses on the idea of iteration. All sprinters are equal in length, and an agile team essentially repeats the same process more than once in every sprint. Each sprint would result in working software features that organisations can deploy to end-users.
An iterative process enables the team to learn and estimate how many stories they can complete in a given timeframe and learn about the type of problems that could impede their progress.
4. How team members do estimation
While agile planning has many advantages, it equally important that development teams should participate in the estimation and planning process and not have the work scope controlled by management. Agile planning changes how teams work and manage projects. It allows teams to assign story points to user stories in the final release plan.
How do you define an agile story sprint?
Within the agile methodology, a story sprint is a number that reflects the amount of work involved in creating a user story and reflects on its complexity. For instance, suppose a team can assign 1 point to a simple user story, use 2-3 points for moderate complex and then 4-5 points for a huge story - based on the teams understanding of the work involved.
Agile also has an alternate estimation unit for the agile stories. Known as the ideal time, which shows how long a user story should take to be complete without interruptions.
Agile planning poker is an estimation game for agile teams. Team members would use the agile planning poker to estimate a user story by drawing a playing card with several story points and placing it face down on the table. Much like the nature of poker, the cards get turned face-up, should there be any discrepancies, such as one or two team members estimated 1 point and others estimated 4 or 5, they can discuss and reach a consensus.
Agile planning: how the process works and the steps to take
Release Plan Process
Your product development plan must show the release goal: this encompasses how teams should solve problems or how will teams improve the user experience. Based on these goals, here are some steps to properly plan the release:
1. Discuss with teams the needed features to accurately address the goals.
2. Discuss the details involved in each feature and factors that can affect delivery. It must encompass the infrastructure required, risk and external dependencies. Features with a higher risk and highest value should be early in the release.
3. Decide amongst teams on how much each member can commit to finishing in each sprint. Usually, this gets compared to the team's velocity in previous sprints. It is best to consider existing work on infrastructure or tools and known interruptions such as support work.
4. List down the stories and epics for the release in priority order with their respective size. An epic is a significant development task that gets broken down into more than one user story.
5. After step four, add an iteration to the plan.
6. Add stories to the iteration until the maximum capacity gets reached.
7. Ensure that lower priority user stories get removed to adapt to the required time frame for release or add more iterations until the user stories are covered.
8. Share the plan using your agile management software of choice (or Asana) and request feedback to get commitment from all team members, product owners, and other known stakeholders.
Sprint Planning Process
After the release plan process, the sprint planning process will help an agile team plan at the beginning of a new sprint, as part of an existing release plan:
1. Create a retrospective meeting to discuss the previous sprints completed and lessons learned.
2. Run a sprint planning meeting to analyse the release plan, update it according to velocity in recent sprints done, changes to priorities or idle time that the team did not plan for in the release. Another reason to run a sprint planning meeting is to identify new features too.
3. Ensure that user stories are detailed enough to use. Be technical and elaborate on tasks that are not well defined to avoid confusion or unwanted surprises that might impede progress.
4. To make the progress of sprint planning easy, break down user stories into specific tasks. For instance, the user story can get divided into UX design of a back-end implementation and front-end development of the interface. Make sure to keep the size of tasks small and requiring no more than one workday.
5. Make sure to assign tasks to each team member and confirm that they are committed to performing them, which is essential. In the Agile / Scrum framework, this responsibility lies with the Scrum Master.
6. For each task to complete, make sure to write each task on physical sticky cards and allocate them on a large board visible to the entire team to see. All user stories in the current sprint should be up on the board.
7. Keep track of all tasks on a grid by recording the responsibility for completing each task, monitoring the remaining hours and actual hours used, and the estimated time to complete each task.
8. Keep track of the velocity using a burndown chart. When each sprint starts, use the team's time tracking to calculate a graph showing the set number of tasks or hours remaining vs the plan. The burndown chart’s slope will indicate if the team are on schedule, ahead or behind schedule.
Implement a Daily Standup Meeting
Daily meetings are crucial to communication progress, solving and identifying issues during a sprint. On each day, gather the entire team and have every team member report on their status:
- Make sure that the maximum duration of a meeting is no longer than 15 minutes.
- Daily agile planning meetings are usually stand up meetings to foster courage and bravery amongst each team member.
- The Scrum Master or release manager is responsible for coordinating and helping team members overcome obstacles.
- For each meeting, make sure to give each member no more than one minute to report what they did yesterday, what they will be doing today, and what is in their way. These are the things preventing teams from finishing a task on time.
- Each task’s status should only be marked as ''done'' or ''not done'', and if a task is marked “not done”, it is best to know how many hours are remaining for that task.
Agile Planning Template
Asana has various templated options to suit most business needs if you require a structured template for agile planning purposes. To learn more, simply click on the picture below:
Using the best team management tool for agile planning
Use the agile planning tool to help define the user stories in the release, assign them to team members, organise them into sprints and track progress daily.
A team can manage its sprint iteration planning with Asana templates. We help all kinds of teams that use Asana as their primary agile project management tool. They even use the tool to:
- See clear ownership of features and bugs
- Plan sprints realistically
- Know at a glance if something is amiss or if a team member is falling behind on work
- Set your team a dedicated and an aligned timeline
- Get a proper understanding of priorities and estimates.