Agile Artifacts: Creating a Product Roadmap

September 5, 2012

The product roadmap comes right after the vision statement and represents stage 2 in our Agile Roadmap to Value. Its purpose is to give you a high-level overview of the product requirements, allowing you to prioritize, group and categorize features. It's also a great tool for attaching rough time frames to features.
There are 4 steps you can follow to effectively create a roadmap:

1. Identify requirements
Your first step is to identify and collect the product requirements. In doing so, you may want to start with very large, high-level requirements (also called epics) and slowly chunk down towards a more appropriate size, such as themes or features. This list will also form the basis of your product backlog.
2. Arrange and group requirements
Once you have a list of requirements, take this list and group it together into common, logical groupings, called themes. You may have already started this process in the previous step. However, it may help to bring the development team in to help out. They may be able to spot technical dependencies or affinities. Remember, agile has a big focus on working software, so make sure you bear that in mind when deciding on the groupings.
3. Estimate and order
This step has two owners. One is the product owner, who is responsible for determining the order of each requirement on the backlog. The other is the development team. They are responsible for determining the effort it takes to complete each feature.
There are various tools and techniques that can help you estimate, such as estimation poker. Similarly, there are various techniques that help you to order a backlog. You could, for example, order based on relative priority (=value / effort) or on ROI.
4. Attach high-level time frames
Once your backlog items are estimated and ordered, work with the development team and scrum master and choose a sprint duration.
Once you know the development team's velocity, you can make an empirical guess at when your product can hit its first release. If you don't have that data, ask your development team how much work they can commit to completing in the first sprint. This will give you an initial velocity that you can use to plan the roadmap. Using effort, order, the themes, and the team's velocity, you should now be able to put everything together in a nice roadmap!
To fast-track this whole process, you only need enough work to fill one sprint. This will allow you to start coding pretty much straight away. The next sprint and the rest of the project can be determined in parallel.
For more information on the different kinds of Agile Project Management Artifacts go to our previous blog post.