GitHub ZenHub Workflow - acquaman/acquaman GitHub Wiki

The Acquaman team uses GitHub for issue tracking, code review, and pull requests together with the ZenHub plugin to help with project management workflow and milestone management. For the specifics of working on code with respect to an issue, checking out branches, etc. see Git Workflow. This section details how issues are organized with the various Labels from GitHub that we've setup with the extra pieces added by ZenHub (Estimates, Pipelines, Boards).

Issues and Pull Requests will be discussed separately, as they have slightly different workflow evolutions. The goal of using these procedures is to be able to reliably track the progress of various milestones and attempting to be as accurate as possible when estimating new projects. If the working correctly, we should be able to track the progress using ZenHub's Burndown charts (as seen below).

Example Burndown Chart

This way we can see how projects are going and be able to make smart decisions about whether to apply more or less resources. It also helps provide sanity checks on whether or not a project is too ambitious, starting to get scope creep, or if aspects of the project were mis-estimated.


As a project management tool, ZenHub provides what they call Boards. Boards provide several Pipelines that are used to organize issues allowing quick analysis of the state of various tasks.

Issues and pull requests are also assigned Estimates as a way of showing how complex a task is expected to be. Complexity is not a straight forward concept as it roughly maps to conceptual difficulty, implementation difficulty, and testability as a single aggregate number (an example of what an issue will look like in ZenHub is shown below). For the purposes of this project we use the values 1, 2, 3, 5, 8, 13, 21, 40. It is important recognize that all issues that are assigned a 13, 21, and 40 are not meant to be worked on as is and will be decomposed into smaller issues before being worked on.

Issue in a board