When we think of agile, we often think of quick reactionary planning to the realities of a project as it unfolds.
For that reason, most discussions of agile planning focus on the short term. Our teams plan and synchronize at the daily level using recurring morning stand-ups. And, for those teams practicing Scrum, we plan at the iteration level using recurring sprint planning meetings.
Both of these practices are great for keeping a team on the same page tactically, but what about strategically?
Luckily, there are some simple techniques for aligning your team strategically as well as for helping them to think beyond the sprint.
Strategic agile planning comes down to three simple questions:
- What are we doing?
- When do we need it done?
- How are we going to get there?
The key is to remember that the answers to these questions will likely change as the development of your product progresses. But, by taking an iterative approach, you can keep your team on track to ensure that you deliver the right product at the right time.
So let’s take a look at these three questions in turn to see how each propels you down the path of creating a great product.
What are we building?
The most important decision that you need to make as a team is what are you building? But the question is often more complicated than that. Instead, the deeper question is what need should your product be solving.
One of the best ways to answer this question is with a visioning canvas. There are many variations of the canvas available, including the well-known Lean Canvas, but my personal favorite is Roman Pichler's Product Vision Board.
The example that you see here is how a vision board for a streaming music service, named Ostinato, may look. Notice that the vision board starts at a higher level than the specific needs of the product and instead focuses on the overarching need that the product is trying to fulfill.
Some of the characteristics that you’ll discuss when creating a vision board include defining the specific user needs or market opportunity that the product is trying to fill, identifying the core user base that you’re targeting with the product, identifying potential competitors who may already be in the market, and discussing how the product will generate revenue.
The outcome of the visioning exercise is intentionally vague, as it is not used for planning the execution of the product, but rather to build alignment across the team of what the ultimate result of building the product should be.
Some teams refer to this exercise as “setting their North Star,” since the result is a guiding direction on where the team is heading without dictating the specific steps of how to get there.
Although your product vision is unlikely to change daily, you should expect it to evolve as you learn more about your target users, potential competitors and where your product can most effectively fit in the market.
For that reason, plan to repeat this exercise periodically to reevaluate core assumptions that you may be making about the competitive landscape, as well as to take a fresh look to help spot opportunities for growth.
To do this, a good rule of thumb is to repeat this exercise annually, though newer and more rapidly evolving products may benefit from a slightly more frequent cadence.
To get the full benefit from this session, you should expect it to be attended by the product’s executive sponsors, the relevant product management team and key technical representation such as the product architect.
Although members of the product delivery team such as engineers, testers and designers may benefit as well, be wary of growing the session too large and remember that the resulting vision may be more effectively conveyed to these team members by the architect and product manager after it’s complete.
When does it need to be done?
Now that you know what you’re building, the next question that you need to solve is when does it need to be done?
But, remember that you’re running an agile project, so rather than waiting until the entire project is complete, you’ll want to deliver in small increments to get as much feedback as possible along the way.
This combination of answering both when you want to deliver your overall product as well as how and when you want to make small incremental deliveries along the way will become your product roadmap.
Product roadmaps are high-level plans that show your product’s intended evolution over the next few releases. They show, at a high level, the overall strategic direction that you plan to take your product, as well as the different guide points along the way that will help get you there.
If the idea of long-term planning fills you with fear as images of Gantt charts dance in your head, don’t worry…there are better alternatives that we’ll discuss here.
Agile product roadmapping has become a hot topic in the past few years with several very nice tools coming on to the market. However, my favorite is still the free Goal Oriented Roadmap, or GO Roadmap, which was created by the very same Roman Pichler that I mentioned previously.
What sets the GO Roadmap apart is that rather than focusing on the features required for each release, it instead focuses on the goal of each release. This approach not only frees you from thinking about implementation details and sequencing too early, but it also leaves the responsibility to define the specific features of each release until a time when you know more about them.
Forcing your team to define features too early often creates an unrealistic impression of certainty for your product and can even lock you into a less than optimal feature set too early.
Instead, thinking at a higher level about the overarching goals that each release should meet will free you to think strategically not only about the impact of each release, but also how the entire release cycle for the product fits together as a whole.
While your roadmap won’t change frequently, expect to revisit it more often than your product vision. If you’re revisiting your product vision once a year, then revisiting your roadmap quarterly would be a good rule of thumb.
To be effective, this session should include key technical personnel who can advise you to any technical dependencies or limitations that may affect the goals you’re laying out.
During each roadmapping session, your team should be focusing primarily on the release that’s immediately upcoming. While you’ll still want to leave time to discuss subsequent releases, expect that they will be more vaguely defined and more volatile as they’re farther out on the horizon.
As a rule of thumb, you should be able to draw a diagonal line from the last objective of the nearest release to the last objective of the farthest release showing how each release becomes progressively less defined as you move toward the horizon.
How are we going to do it?
The final piece of strategic planning is to lay out a plan for how your team will approach the next release. This is done with a tool that’s similar to the GO Roadmap we discussed previously, but with a more fine-grained feel.
While this release plan contains much of the same information found in your roadmap, it also adds lower level information such as a prioritized list features that will be tackled in each release.
These features can be prioritized by whatever means is the most comfortable for your team … as long as they are prioritized. I’ll often use the MoSCoW prioritization technique, which has the advantage that it allows for items to be explicitly removed from a release.
Expect to revisit your release plan after each minor release, which should occur more frequently than the major releases detailed on your roadmap. For example, if you follow a release cadence of a major release at the end of each quarter with minor releases at the end of each subsequent month, then you should expect to revisit your roadmap quarterly and your release plan monthly. The goal is to create a plan that represents what your team is currently working towards as well as to give you an idea of what lies in the future.
Ideally, your entire team should be involved in this meeting as they will be the ones who will deliver the work inside of each release.
And, as with the roadmapping discussion, you should be focused primarily on the next upcoming release and expect subsequent releases to be progressively less defined as you move out to the horizon.
In fact, the guiding principle of drawing a horizontal line from the last feature in the next release to the last feature in the farthest release works just as well for release plans as it does for roadmaps.
Seeing the big picture
Strategic agile planning is as much of an iterative exercise as anything else that we do in an agile context. The secret is to realize that no matter how confident you feel in your overall vision today, it’s very likely to change as your product grows and your market evolves around it.
By taking an agile approach to your strategic planning, you can significantly increase the odds that the product you deliver will make the impact that you envision.
This post was originally published on the Front Row Agile blog.