Introduction to Roadmapping

This activity is designed to help you write a Roadmap for your open source project or Mozilla Science study group.

For beginners

Format

This is a short writing/thinking exercise. It is best done with a project co-lead or small group of key contributors, but you can also work alone.

Target Audience

Open science project leads and Mozilla Study Group leads seeking to attract and grow communities of contributors around their projects

Materials

  • Computer
  • Your favourite browser
  • GitHub account
  • Open source project on GitHub

Introduction

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 taking on certain chunks of work or adding certain feautures. This will help get people excited about joining the project.

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:

Roadmap Structure

1. Project Mission & Summary - 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 - 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.

Examples

Steps to Complete

  1. 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 project summary and add a shorter version here.

    For more information on writing a project mission statement or summary, see the Writing a README Exercise.

  2. Write "How to Get Involved"

    New contributors might want to jump in right away! This points them to parts of the project they can work on immediately.

  3. Pick Milestones

    Depending on your project, milestones can vary from development goals to events. Here are some types of 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

    • Dates

      If you have deadlines or a set time to work on this project, use this as a milestone!

    • Events

      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

  4. List Tasks to Complete for Each Milestone

    Take time here to explain why you are doing this task. This will enforce your vision for the projects.

Glossary

Roadmap

A document outlining the schedule of work to be done on a project.

Milestone

An event or state marking a specific stage in development on the project.