With an objective to enable continuous learning and progression for our learners, PremierAgile curated several learning articles in the areas of Agile, Scrum, Product Ownership, Scaling, Agile Leadership, Tools & Frameworks, latest market trends, new innovations etc...
If you have worked in an Agile team, there are chances that you have heard that they do not plan like traditional software methods. It might be presumed that Agile methods do not give much importance to detailed planning; nevertheless, even Agile teams need a disciplined approach to understand where they are heading with the product. This gives the team knowledge of the long-term goals of the product and helps them devise realistic strategies so that they achieve the goals. In traditional planning, there is a structure laid out before the product is built. The team plans all the features in detail and progresses according to their devised plan. In Agile planning, however, there are many layers of planning involved, which gives the name “Planning Onion” to Agile planning. In this article, we get to know the various levels of Agile planning and how it helps Agile teams achieve their goals for the product.
Before we understand how Agile planning works, we have to know how traditional planning is done. In traditional planning, fixed cycles are followed which are usually far apart. For instance, a team may plan an annual cycle where they define and review their entire strategy once a year. If there is a review session in January, they not only define their goals for the year but also have a detailed plan ready for everyone to follow throughout the year. The team has to follow the given plan to achieve all the goals which are set for the entire year. All the plans and goals will be finalized upon everyone’s agreement. And the team meets next year to review the plans and goals which were set the previous year. However, despite everyone trying to achieve their given set of goals, sooner or later, reality would strike. Circumstances that cannot be anticipated during the meetings could arise such as competitor movements, customer demands, new developments in the overall market, etc. These kinds of changes would make few plans irrelevant or unattainable. Nevertheless, the team moves forward with the plans and hopes to complete their earlier aspirations. They do not reconcile and change the course of their plan between their fixed cycles. This leads to the team forever struggling to make their ends meet and complete the expectations and goals, which is often the reality of Traditional planning.
In Agile planning, a team may plan in different levels of detail which depends on the timeframe for which they are planning. For example, the Agile team may plan their goals for a long term such as a year. They would also plan the strategy of the team to achieve those goals in a bit more detailed manner for the next few months. They would also look at the steps necessary to implement that strategy in the next few weeks in the most detailed way. In addition, there are high scopes of altering the plans according to the circumstances faced by the team throughout the year. This approach helps the team get a clear picture of their roles and responsibilities and also gives a short-term goal that they have to work on. Simultaneously, they would also work towards achieving the long-term objectives in a step-by-step manner. However, it is easier said than done; to strike the balance between the short and long-term objectives, Agile teams use an approach called Planning Onion.
As an onion has several layers, the Agile planning onion is also structured in different layers. There are five levels of Agile planning in the planning onion method, each of which is discussed below:
The first layer of the onion is the visionary layer where the team defines the goal of the product. In this layer, the team decides the overarching problems which the product is trying to solve and also defines the audience for whom the problem has to be solved. Understanding and answering these questions would let the team know the purpose of the product and help them acknowledge the true value of the product. Also, the team members can design the product in such a way that it stands out in the market and establishes itself in the game. The vision layer makes the team members brainstorm ideas to develop the product so that it might differentiate itself from other products that are solving similar problems. You can use a product vision canvas where the team can visualize the goal of the product and help them strive to achieve their goal. One of the most famous product vision canvases is the product vision board by Roman Pichler where the team can collaborate and visualize the idea and focus on forming questions whose answers would help them become successful.
The next level of the onion is the roadmap level where the team decides a strategy to complete the things listed in the product vision. The team creates a high-level plan of how the objectives defined in the product vision could be achieved over the long term. The vision is an abstract concept that may just say what the product tends to do, but the roadmap is a bit more detailed where it states the plan the team follows to achieve the vision. The contents of the roadmap are clubbed together into releases such that there is effective communication between the team and the organization about the features present in each release. The contents of the different Agile team’s roadmap will differ from one another, but in general, the roadmap should contain the features that the team will deliver so that stated goals can be achieved. These features should be defined at a high level and not at the individual tasks or user stories level. Also, the roadmap should show the dependencies between the features such that the team has an idea about finding out the best approach for tackling those features.
Another layer of the planning onion is the release planning level. At this level, the goal of the team is to clearly define the specific features present in the particular release of your roadmap. This layer mostly consists of individual tasks and user stories that could not fit in the roadmap level. When the team defines the release plan accurately, they could estimate the date of delivery more realistically. This also helps in setting better expectations from the product and could be well communicated across the organization.
In this layer of the onion, the team selects individual tasks and stories which have to be completed in the next iterative cycle. The team plans how to develop and deliver each story by conducting several team meetings. If the team is following the Scrum approach, the team conducts the Sprint planning session which is facilitated by the Scrum Master. Even Agile teams who do not follow the Scrum approach conduct a few iteration-level of planning which involves planning their upcoming work in small batches.
The last layer of the planning onion is the planning at a daily level. As the name suggests, the team plans a few tasks at the beginning of the current day. Many teams use daily standup meetings to discuss the progress done in the previous day, and what they expect to do in the current day. They also discuss whether they are facing any impediments in their current work. Successful teams often treat the daily standup as a planning meeting and discuss what they are going to do today and express what they will achieve today. Hence, daily standups should not only be a status meeting where the team members discuss how much work they have completed.
To implement the planning onion method, you must first understand where the organization stands in terms of Agile planning. The first step to get started is to know how many layers of the Planning Onion the organization has already implemented. Most of the Agile teams do daily standups, and usually, stop planning till the iteration level. Also, many Agile teams have a vision for their product. But that vision may no longer be relevant to the goals of the product or that vision is beyond the team’s capabilities. Teams should always revisit their product’s vision occasionally so that the vision stays relevant to the goals desired from the product.
The team has to confirm that the level of daily planning and iterative planning is in place, the product’s vision is in place, and that the product’s goals reflect the goals of the company. After this is established, the team has to focus on road mapping and release planning; an area where most of the teams fall short to address accurately. Begin with understanding how a roadmap works and how it is different from vision and release planning. Define the roadmap based on the outcomes desired in the product vision. Once the roadmap describes the required features and dependencies between the features, you can use that to make a detailed release plan. The roadmap and the release plan and two key tools help the team get clarity about the success of the product. It also gives guidance they need to plan and how they can achieve it the best.
Agile teams have detailed plans to execute their work however it is not as same as the traditional planning methods. Using the Agile planning method called the planning onion, the Agile team gets a sense of clarity of how they should move about while developing the product. A structured approach such as Planning onion is a definite way for the team’s success. However, merely implementing the method without understanding the levels would lead to chaos. Understand the various layers of the planning onion, and carefully observe when to change the contents of different levels based on the circumstances and expectations of the customer. These skills are the ones that separate those teams who simply deliver the product and those who truly make sure that their product achieves its vision and goals and becomes successful.