For a long time, I used to think about roadmaps as lists of features that are to be built at a reasonable timeframe. Once published, I felt committed to pursuing that plan. Combine that with our limited capacity in the early years (less than ten people working on the product), and you'll understand why I was advocating against publishing roadmaps or discussing upcoming features until they are ready for testing.
Not any more. I'm much more comfortable with sharing the ActiveCollab Roadmap and discussing our plans now. Several things changed in my understanding of the concept.
A roadmap is a map, not a list.
Items on the Roadmap are not commitments, but options. They are places on the map that we would love to explore and settle on. Likewise, there are items with high uncertainty that should be approached carefully.
The Age of the Empires
During the early 2000s, I spent countless hours playing the Age of Empires. The terrain, discovery, and dynamic of building kind of fits the idea of road mapping that I have in mind. It's not a perfect visualization, but it's much better than a list of items to be built in a sequence. There are things that you already built, those currently under development, and areas where you will be moving to next.
Some builds take time and preparation. They are approached in steps, where each step brings value but eventually leads to something bigger. Time tracking, budgeting, and profitability features were developed this way. We started with stopwatches, then moved to a team timesheet, while simultaneously building internal hourly rates, to finally get to project profitability. Around that time, a different team moved from team to personal timesheet, and integrated stopwatches, bringing the two functionalities together.
The clarity in the fog
Another detail from real-time strategy games like the Age of Empires helps here - the fog of war. There's a high level of clarity with the features that you have already built. The features that you are currently working on are clear, but you are still open for surprises because they're not finished yet. And then there's the foggy future, with an underlying sense of the terrain and value. However, there are still many problems and opportunities lurking in the fog.
Our initial plan was simple, with a limited scope - focus on time tracking following the success of Workload and integrated stopwatches. As we explored, built, and discussed various solutions, we stumbled upon all sorts of opportunities to improve the product even further. Project profitability? It wasn't part of the initial scope. Fixed price projects? A distant chance when we started, but our customers made it clear that we should address it sooner rather than later. Stopwatch on the Personal Timesheet? It wasn't part of the original design. Still, we made it happen as we were getting the feature ready for development.
During all that time, we regularly posted concepts and updates in ActiveCollab Circles, shipped test builds daily, some for our internal testing, some to members of Circles. We shared our plans, revised them, postponed releases due to newly found discoveries, improved the features based on the feedback, etc. It all felt like a perfectly natural process. Here are the major features built in such a manner:
- Task dependencies
- Availability
- Automatic rescheduling
- Workload
- Stopwatches
- Team and personal timesheets
- Internal budgets and project profitability
- Project budget types
We released all this within the past 18 months, plus a ton of smaller features, improvements, and fixes in between.
The Big Book of Team Culture
List vs. map
My point here is that this process works. It's not "the one best practice," and there's much to be improved, which we'll be working on. Just don't look at our Roadmap as a to-do list. It's a list of options that can be laid down on a map, with different levels of clarity and confusion surrounding them.
Some features will be built sooner, some later, and there are probably items that will be removed at some point without being added to the product. Destinations that we found attractive at some point, but never get the chance to visit. There are also things that we will be adding to the product that are hiding in the fog, and that we'll uncover as we get closer to them.
We're yet to figure out a way to visualize this better. Until then, a simple list will do, as long as we know what that list means. Hopefully, this article lifts the fog off some of the ideas.