What is Agile Planning?
In Agile approaches, a team might plan the product in layers with different levels of detail. For example, we might see some problems that people have been facing and we found opportunities to solve that issues. We might plan their business goals with a high-level assumption.
We might identify which products/solutions will solve the people’s problems and reach their business goals. This is a top-level of planning we define the destination of the team and we can call it a VISION layer.
At the next level, we might need to answer the following question:
- How can we release values incrementally?
- What subset of business objectives will each release will achieve?
- What is the beneficiary the users will be served after each release?
To answer these questions, we might need to create a ROADMAP that tells you how many releases the team needs to deliver overtime to meet objectives incrementally. For each release, we need to identify what features and when they will be delivered. These features should be described at a high-level of stories, rather than as detailed user stories or tasks.
After we have a roadmap, which tells you what locations in the road and when to go to your final destination, we need a plan to go from the current departure to the next location (at least). That is what we call a RELEASE plan for the first release. In this level of planning, we might need to break down the high-level features above into smaller stories and tasks to accomplish a release.
Normally a release comes from multiple cycles called Iteration or Sprint. At the Iteration level, we decide business objectives and select a bulk of user stories with priorities to deliver in the next cycle, and create a plan for how to develop each user story. That level of planning we called ITERATION Planning or Sprint Planning.
To meet the objective defined in iteration planning, we need to have DAILY planning through the Daily Scrum. At the daily scrum, the team needs to review the work progress since the beginning of the cycle, plan works for the day and collaborate on how to meet the iteration goal.
Agile Backlog Structure
To support 5 levels of Agile planning, we have 5 layers of backlogs. A backlog is a list of required items to support a level of plan. It contains a prioritized list of items that the team has agreed to work on. Similar to the level of planning, backlog items might have a different level of detail based on the level of planning they are supporting.
At the top level of backlog, we have Themes. “Themes are large focus areas that span the organization – by Atlassian”. Themes are backlog items presenting for the organization’s vision. A vision might be represented by multiple themes. So that each theme might take a year to several years to complete.
To accomplish a theme, we might need to deliver multiple Epics. An epic represents a product/solution that helps the customers resolve his/her problems. An epic also represents a business objective to be accomplished as well. Epics are backlog items support for a roadmap. That means that a roadmap may be represented by multiple epics in different releases. Each epic may span across releases. Normally an epic might take several months to be completed.
A feature represents shippable product functions for the users to use. Multiple features contribute to the completion of a product/solution for the customer to resolve his/her problems. A feature usually fits within a release. Normally a feature might take several weeks to be delivered to end-users.
“Stories, also called “user stories,” are short requirements or requests written from the perspective of an end-user – by Atlassian”. So that stories represent user requirements. Those are small pieces of the product functionality and stories are directly mapping to the feature. Stories are small enough to fit within an iteration or sprint. A sprint/iteration normally takes a 1-4 weeks cycle. So that a user story normally takes several days to be completed. Stories are backlog items using during the Iteration planning to describe how the team plans to deliver to meet the iteration goal.
Tasks or sub-tasks represent actual works required to complete a user story. A task is small enough to be completed within a day. So that a task normally takes several hours (1-8h working day)
To sum up we have pictures below that represent what I explain Agile Planning and Backlog Structure above
In the next post, I will describe to you how to organize those kinds of backlog items in JIRA.