Test Pilot is trying out GitHub Projects this sprint

We decided to try using GitHub projects for this sprint instead of Waffle. Waffle makes my laptop fan run like crazy, it works most of the time if only one person is changing things, and it’s a bit slow to actually load the pages. If GitHub projects is a suitable replacement, being built-in to GitHub will, presumably, make it faster and include more integrated features.

So, for the time being, our planning process is roughly:

  • New ideas are proposed to Product and flow through https://trello.com/b/TjEN1biU/test-pilot for their refinement and polishing

  • When a new idea is ready for implementation, it’s filed as a Project at https://github.com/mozilla/testpilot/projects . Projects don’t have due dates. A project should be filled with issues broken into workable chunks.

  • Each sprint we create a new milestone at https://github.com/mozilla/testpilot/milestones in the format “Sprint XX” where XX is the current number since we launched (you’ll see Sprint 12 at that link right now). Sprints have due dates and, currently, are about 10 days long.

  • At the start of each sprint we’ll look at our priorities and consider if we have time to work on the backlog of projects. If we do we’ll choose the issues in each Project which we can do and add them to the current Sprint. All the issues in a Project may or may not make it into the same Sprint.

The good news is, this seems to be how GitHub imagined it. We have a link (the Sprint) to what the team is doing right now, with an easily read percentage complete.

As this is an experiment, we’ve also discovered quite a few shortcomings in the short (<1 day) of using this process:

  • GitHub Projects aren’t filterable right now. For example, going to the current issues and search for “project:name” doesn’t filter the issues by project.

  • Waffle had a cool label system where as you moved issues between the columns, waffle would automatically apply labels in github, which made filtering quite easy. Projects doesn’t support this at all, as far as I can see.

  • Project names don’t have built in support for their :shortcode: emojis.

  • There’s no way to mass-change issues related to projects. For example, putting all the issues in the “Ready” column in a project into a milestone is currently a one-at-a-time process. Similarly, adding issues to a project is clicking and dragging each one into the project.

  • Projects don’t quite seem as integrated as they could be yet. Similar to the filtering shortcomings above, for example, there is no “Projects” dropdown on the issues page to drill down into the list you want to view.

  • When you closed an issue in Waffle, it would automatically move the card to the Done column. I suspect GitHub does not do this, which means manually (one-at-a-time!) moving each card through the Project columns.

So…are we making a huge mistake? Time will tell! We’re small enough that it took about 15 minutes to convert our old system to this system. If we need to keep evolving, we will. Please give feedback and we’ll chat about it in this sprint’s retrospective.