If you plan a large piece of work in your project, it is a good idea to produce an outline of the work to share with your potential contributors. Your roadmap should cover your goal and vision and include a timeline for tasks that need to be completed, thus helping new contributors to your project to get an understanding of what is currently happening on the project and what’s coming next.
To create a roadmap, it is important to map out the key milestones, tasks needed to accomplish the milestones and related challenges to help you allocate your resources and time to work on them efficiently. Milestones can be organised around your project’s objectives, community events, contributors development or timeframes. If you work on GitHub, you can use GitHub’s Project board to manage all the tasks on issues where you provide details and collect relevant information collaboratively and openly.
A roadmap can be described in the landing page or README file to describe the following aspects of your project:
Project summary to provide an overview and the current status of your project.
Onboarding information describing how others can get involved and what immediate tasks they can do.
Timeline with both short-term and long-term goals for your project describing tasks that need to be done, what contributors are working on and where it is going to happen next. For example, if a new release of the project will be made or an event will be hosted.
Case Study: AutSPACES Project¶
This case study has been drafted by Lotty Coupet, a community manager of the AutSPACES project (2021).
AutSPACEs is a citizen science platform co-created by autistic people and their supporters alongside researchers and the open source community. To successfully communicate where we are and what needs to be done, the AutSPACEs project has created a highly detailed Roadmap.
How did we get started?
To kickstart the creation of a Roadmap we used the issues function in GitHub to begin the journey of creating a Roadmap. Here, we have raised an issue in our GitHub repository where we invite contributors to comment on any proposed milestones and surrounding tasks that should be included in the roadmap.
The Community Manager will collate all the information to produce a Roadmap that will be proficient for the community.
What does our Roadmap include?
The road map will include high-level milestones which are made up of a list of issues of which each contains a checklist with granular tasks. This will inform any contributor where they can start participating within the project.
Milestones, in this project, are seen more as an overarching theme rather than a tick list. The idea behind this is that we don’t want to tick off a milestone as we believe work is continuous, open and subject to review and iteration in all aspects.
Key timelines and dependencies will be highlighted as this will allow for all contributors to know how each task fits into the wider project. There will be a prioritisation of tasks that correlate with the strategic direction of the project; what is needed to be done at this point.
Where will we put our Roadmap?
The AutSPACEs project is a Citizen Science and Participatory Research project. This means that many of our contributors do not have the technical expertise to use GitHub. Therefore, we need to ensure that our roadmap is accessible for all and thus not only accessed via GitHub. Therefore, our roadmap will be hosted:
On our website
In a shared document for internal use (Excel sheet)
Github repository (MarkDown file)
However, we will address this technical barrier as our roadmap will include a link to issues in the repository. To overcome this, we have planned to teach basic skills in GitHub, such as creating an account and accessing our issues list.
How will we keep it updated?
One of the main issues with Roadmaps and similarly project plans is the risk of them becoming out of date. It can confuse rather than help in communicating where the project is and where it needs to go.
The AutSPACEs project creates a fortnightly progress report recording updates from the community, software development status and research progress, as well as what tasks have been completed since the last update and what should be the next steps.
These updates drive and feed into the future updates of the roadmap. This process allows us to ensure that our roadmap and tasks priorities are always up to date.