We’ve just released a new roadmap for Holochain that we redesigned to improve visibility into both the development status and the workflow of the Holochain team. It shows a summary of release history, status of in-progress work, and planning of upcoming work including releases actively being planned and those that are just incubating. These summaries are linked to our actual Github project management tooling to calculate our work velocity and expected completion of work in progress as well as planning estimation.

Context

Showing the evolution and progress of an open-source project in an easily digestible way is both a critical and a non-trivial task.While we have been operating transparently for quite some time using Github Projects to manage and prioritize our work, the available summarizing and visibility tooling GitHub provides for roadmaps and burndown don’t provide the necessary accessibility to developers and non-developers alike to stay informed on what’s currently being worked on, and what is yet to come. And we too have struggled with how best to create visibility into projected completion times, as this is notoriously difficult to do.

Our new, dynamic roadmap addresses these challenges by making our completion estimates visible the same way we see them internally - based on real data of our historical velocity, and compared with the team’s complexity estimation on future and in-progress work.

Take a look at how the new timeline in this video walkthrough, or read on for more info on how it works.

What we show

Released

The Released column provides a list of actually released software. For the most part this shows Holochain releases, but it also includes notable releases of other stand-alone projects (like the HTTP Gateway). More current releases link to actual issues completed in our Github Projects tool.

In Progress

The “In Progress” column provides visibility into the releases we are currently actively working on. For each release you can see the percentage completion of story points, the current velocity and estimated time to completion. The story point completion is also broken down by epic for more detailed project data.  

Up Next

The “Up Next” column provides visibility into our team planning and estimation process. As well as coding and delivering on current releases, we are also looking ahead to what comes next, and getting a handle on how much complexity is involved and what to put into future releases. So in this column what you see is the progress on the issues and time to complete for a release.

Our Process

To really make sense of this roadmap, it helps to understand our team process. Like many software teams, we use a simple modified Kanban-based agile workflow for low-level task management, and releases and epics for higher-level prioritization.

  • Work items enter our flow as bugs and feature requests, either from Holochain team members or stakeholders adding them as GitHub issues, on one of our repositories. As the team breaks down larger items of work, they may add more issues across various repositories.
  • All of these end up in the project backlog where we prioritize them and slot them into a release and an epic, which collects larger chunks of work.
  • From there the items are set to "Ready for refinement" which is the crucial step of the team assessing the complexity of an issue, and possibly breaking it into smaller issues that are all estimated. There is much written about story point estimating in agile process, which you can google for if you want to understand this more deeply. Suffice it to say that it's best not to estimate "time/effort" but rather to estimate complexity. Looking back on completed issues reveals the time it takes for the team to complete items of that level of complexity.
  • When items have been estimated, they are marked "Ready" and team members can start the work according to priority.
  • Our releases are currently numbered in the pre-release semver numbering style of 0.X.Y. X is considered a major release where we allow ourselves to break APIs, which for developers means they may have to recompile their hApps, and/or actually make updates because the HDK is changed, and also will have to update the conductor version their runtime is using, because networking formats may have changed. The Y value is a minor and for those, no DNA updates are required; simply updating the Holochain version in a runtime will either add new non-breaking features, or have fixed bugs.

Thus, our new roadmap helps make our internal process more accessible and visible. We show what releases we have completed, which we are working on, and are planning and incubating going forward.

Please note that this map is fluid. We move epics from one release to another as we evaluate them, and sometimes simply because we realize it makes more sense to get a release out sooner. Usually, what's In-Progress is fairly well planned out, and the scope should remain fairly stable. What's marked as Planning not so much, and what's marked Incubating even less so.

We've made it so that Releases and Epics are links on the site so you can navigate directly to our Github project for those who want to delve in deeper.

The GitHub Project

To look under the hood at what's on in GitHub here are some things to note:

  • If you go to the release view you will see all of the releases also on the website, plus a few more that we are holding even more loosely on that gradient of certainty, so we don't show them on the website.
  • Releases on GitHub are prefixed with a "*" for those in planning, and an "_" for those being incubated.
  • You may notice that data is not pulled live from GitHub, but it is updated reasonably often. This is currently a manual process that will eventually be automated.

This roadmap provides transparency into both our timelines and development processes, giving real-time insight into how we work, what we're building, and when. This helps community members make better-informed decisions when building on Holochain. We'll continue refining this roadmap based on your feedback - so we look forward to hearing what you think.!