Introduction to Roadmapping
This is a short writing/thinking exercise. Best done with a partner or small group, but can also be done alone.
Open science project leads and Mozilla Study Group leads seeking to attract and grow communities of contributors around their projects
- Your favourite browser
- GitHub account
- Open source project on GitHub
When you're starting on an open source project, it's important to record what your community (this might just be you at the beginning) decides to work on! A roadmap organizes the tasks that nees to be done on a project around milestones. This helps potential contributors understand the current status of your poject and where it's going next.
A roadmap can also express your vision for the project. Make sure you clearly state why you are implementing certain things to get people excited about joining.
This can be as simple as a collection of issues in your issue tracker, or a detailed timeline complete with milestones. It's up to you to choose what works best for your community! At the Mozilla Science Lab, we break our Roadmaps into three sections:
If your roadmap is more than a list of issues, we recommend three sections to welcome new contributors.
1. Project Mission & Summary (optional) - Welcome and orient visitors to your project. Users may have been linked directly to the Roadmap, it's important to help them understand where they are.
2. How to Get Involved (optional) - New contributors might want to jump in right away! This points them to parts of the project they can immediately work on.
3. Timeline - The star of the roadmap!
This section organizes tasks needed to complete your project around milestones, mapping out what you're working on now and where it's going next. This can be as simple as a list of issues in your issue tracker.
Steps to Complete
Add your "Project Mission & Summary"
Use this space to orient and welcome new visitors. Start with the project name along with your mission statement or a clear summary of what you are doing. If you've already written a README, you can adapt the summary and add a shorter version here.
For more information on writing a project mission statement or summary, see the Writing a README Exercise.
Write "How to Get Involved"
New contributors might want to jump in right away! This points them to parts of the project they can immediately work on.
Depending on your project, milestones can vary from development goals to events. Here are some milestones you can use:
Project Status Goals
Are you working to implement your MVP (minimum viable product) or a specific feature? Your milestones can be completing a feature or a release.
examples: Get your project on Collaborate, build an MVP
If you have deadlines or a set time to work on this project, use this as a milestone!
If you'll be sprinting or demoing your project at an event, it's helpful to know what you'll need to complete before and during the event.
examples: Mozilla Science Lab Global Sprint prep work, MozFest sprint tasks
Short, Medium & Long Term
When working with volunteers, it can be difficult to set hard deadlines. When unsure, you can use short, medium and long term milestones.
Short term - things you are working on now
Medium term - things contributors can start working on that is not currently being worked on
Long term - you can describe where your project is going here
List Tasks to Complete for Each Milestone
Create an issue for each task. Take time to describe the task along with why you are doing this task. This will strengthen the vision for your project and help others get involved.
Tips for issues: Include as much context and help as possible! Add links, mention specific people involved by their username (i.e. @acabunoc). Articulate the problem or idea along with solutions and next steps.
Link to these issues in your Roadmap under each milestone. Congrats! You now have a Roadmap with tasks.
A document outlining the schedule of work to be done on a project.
An event or state marking a specific stage in development on the project.