Roadmap development is an important project management tool. It ensures you pursue the right goals, with the right priorities, at the right time. In this guide, we will see everything you need to know to start with roadmap development effectively.
What is Roadmap Development?
Roadmap development is normally part of product development. Product development is simply making a product evolve: deciding which features it should have next, and why. For example, Apple may decide to add one more camera on the next iPhone, or to increase megapixels, or both. When they make such decisions, they are doing product development.
Now, roadmap development is a subset of product development, or rather a technique used to develop products. A roadmap is a map of the road in fact, something that tells you where you should be headed. We can apply the same concepts to products: roadmap development is deciding which features to develop, and how to prioritize them.
All in all, roadmap development is a process that creates a document that says “we are going to add these features to this product, in this order”. To be fair, it is not just about product management. Roadmap development can be applied to any context where you have to create something new, and you have conflicting priorities around that.
How do you do roadmap development? There are many approaches. Today, I present you one that worked well for me, and it is heavily based on Kanban and Agile methodologies at large. You will see something among these lines in most organizations.
How to do Roadmap Development
A Quick Overview
Doing roadmap development means coming up with a list of things you want to do in a priority order. Ideally, you should know how many of those you can do in the given planning period (next quarter, next year, whatever). This means that successful roadmap development will take care of the following:
- Each item is well scoped: it is clear what it is expected to be done, and how will you measure if it is done
- You have a time and resource (people, money, equipment) estimate for each activity. If you don’t know how much each is going to cost, you won’t know how many you can do given your budget
- It is clear the priority between different items
- You have clear prioritization criteria, so you can tell exactly why one item comes before another
Not too complex after all. How do you get to a roadmap development process meeting those bullets above?
1. Concept, Ready, Backlog, Doing, Done
The first approach I use is structure the items you will put in the roadmap as user stories of features in an agile board. That is, each idea should be clearly defined (more on this later), and will move through phases:
- Concept. This is just a generic idea, we do not yet know how to pursue it, or what resources will it take to get it done.
- Ready. We scoped this idea, and know we know how much it will cost, what are the benefits, and how we will define if we got it done or not.
- Backlog. We take an idea that was ready and put it here when we know we will do it, and we commit to that.
- Doing. This is an idea we are currently working on to get it done.
- Done. We made it, this idea is now a reality!
Roadmap development is about deciding which ideas move from concept to backlog, and not much about doing and done. That is about managing the sprint or managing the work in general.
A common approach is to represent ideas as cards and have each phase represent a column. When an idea progresses through phases, its relative card moves through the different columns. This can be done on a normal analog board, or with an online tool like Trello or Microsoft Planner.
2. Coming up with new ideas
At any point in time, any team member should be able to log a new idea he had and put it into the “concept” column. That should be something extremely high level to start with, like “we need to have a scheduled start feature for this washing machine”. Literally, just once sentence to define an idea is often enough.
Ideally, you will want to do more than just a simple sentence. Try to back it up with data to define why it brings business value (e.g. customer surveys show this was an important need for 74% of customers). Otherwise, you will have a lot of “vanity” features, cool ideas that are nice but do not really bring customer value.
On top of spontaneous ideas, you also want to have specific brainstorming session where people are expected to bring up new ideas into the picture. Rather than having “traditional” brainstorming, where everyone brings an idea and we all discuss together, have people prepare their ideas individually in advance and submit them anonymously. This has been shown to increase creativity.
As we are about to see, roadmap development is some sort of iterative process.
3. Making Ideas Ready
At any given point in roadmap development, you will have so many ideas, much more than you can realistically implement. So, you should first make an effort to make some ideas ready to be worked on. How do you know if an idea is ready?
- It is clear where the business value is, what is the benefit toward the customer
- It has a specific and measurable criteria to tell if that is done or not (e.g. “this feature will be installed on 100% of model X units” is good, “we will have this feature” is not good).
- The effort estimates and resources needed are clear
- Risks and potential unknowns are documented
That may seem intuitive. However, getting there is not as straightforward as it may seem. To make an idea ready, you need to involve people who are knowledgeable about that idea and how to implement it – most likely, the people who will have to work on it.
Scoping an idea, making it ready, is crucial for roadmap development. And it is not free! You have to spend time to make ideas ready, so you should focus on the ones that add business value first. This is the first level of prioritization.
Now, here’s the first kanban trick. Limit the number of ideas that can be ready at the same time. Otherwise, you may spend a lot of time making many ideas ready, but then do not implement any. If you have a limit, you will be more conscious about what you decide to make ready, and what you leave in concept stage.
4. Prioritization
Prioritization is the main pillar of roadmap development. In fact, I could say that roadmap development is just about prioritizing ready ideas. All you have to do is decide which ideas move from ready to backlog, and how to order the backlog (what ideas go first).
There is only one criteria you should use: customer benefit, and thus business value. Which ideas add the most value to the customer? Those are the one to pursue first.
Now, I like to approach roadmap development with a slight twist on the prioritization, and use the Weighted Shortest Job First (WSJF). This is another agile concept, that allows you to deliver value to your customers sooner. The name may sound fancy, but the concept is simple: pursue the ideas that yield the highest possible customer benefit per effort allocated.
An example will make this ridiculously simple. Imagine you have two tasks to do: one takes one week, and the other takes four weeks. The one-week tasks deliver a business value of 10, the 4-weeks one delivers a value of 32. While the longer one delivers more value, each week working in that tasks yields about 8 business value units. That is less than the 10 per week of the first task. In other words, the 1-week tasks is a lower hanging fruit, go for it first!
This is not a static process you do once in a while at the beginning of roadmap development. No, it is something you do consistently and iteratively, because the yield of tasks may change. You may have a task that delivers 80% of its value easily, but then has a long tail of 20% that is really hard to get. At the same time, a new task may take the priority.
Here, it is also great to limit the tasks in backlog, doing, and done. In this way, you are forced to prioritize the best tasks only.
Roadmap Development in Summary
Roadmap development is about deciding which features to pursue for your product, project, or initiative. Most importantly, it is about putting those features in the right order of priority. To do that, you will need to influence your team on technical tasks, and what better way than becoming a technical leader? Read more about this today.