Editor’s note: This article is an excerpt from our newly revamped eBook: Project Management for Teams in GitHub. For the full guide to building a high-performing, agile software team, pick up your free copy!
A task board is an at-a-glance “information broadcaster” about your software projects. It’s the easiest way for teams to break down barriers that divide people working on a project, powering communication, efficiency, and a higher-quality product. In this chapter, we’ll explain how to combine custom labels and pipelines to create your perfect project dashboard.
First thing's first
A successful project foundation starts with a good task board, and a good task board starts with repos, understood pipelines, Epics, and a sane labelling system.
- The ZenHub Board (or, for those in the know, just the “board”) is how you view, prioritize, and manage your product backlog.
- Repositories (“repos”) are how projects are divided up in GitHub. Since ZenHub allows you to connect repositories together, don’t be shy – divide your projects into a generous number of repos to help things stay organized.
- Pipelines are columns on your board that organize your issues (tasks). Your issues move between pipelines from left to right as they progress through the development cycle. We’ll discuss customizing your pipelines later, but ZenHub’s default structure works well as a starting point.
- Epics are large chunks of work composed of many issue points: an Epic may encompass a new feature or an entire project. You can filter your board by Epic to see every issue and/or every assignee attached to that Epic.
- Labels are the tagging system used to convey extra information about each issue. Naturally, you can filter your boards by label.
A note on labels
Don’t settle for GitHub’s seven default labels. Take a minute to set up a label style guide that communicates more than the issue type.
Our team set up custom labels that communicate status, blockers, complexity (for example, we mark quick fixes with the label “Bash It”), and other factors. Together, they communicate a lot in a single glance. Check out our example style guide on the next page.
Our label style guide
Labels don’t just add a pop of colour; if you use them consistently, you’ll never have to sift through your issues on the board. (For more ideas around labelling best practices, check out this post.)
Your new home at work
Kanban is a methodology that capitalizes on this fact to create an efficient and improvement-orientated system.
Basically, Kanban boards create a snapshot of project work and processes. By visualizing work this way, you can create focus, establish flow, and continuously improve.
Before tools like ZenHub, task boards were created using post-its and stickers. The one advantage a physical board has over digital? Constant visibility to keep it top of mind. Keep your board displayed on a big monitor somewhere obvious, and bookmark it as your go-to Workspace.
Using pipelines like a boss
ZenHub boards come pre-set with seven pipelines which represent the stages that work goes through within your team: New Issues, Icebox, Backlog, In Progress, Review/QA, Done and Closed.
Let’s quickly go over each of them.
- New Issues: New issues land here automatically. They should be dragged to another pipeline as soon as possible.
- Icebox: Low priority or un-prioritized Issues that don’t require immediate attention.
- Product Backlog: Upcoming issues that are immediate priorities. Issues here should be prioritized top-to-bottom in the pipeline.
- Sprint Backlog: All the issues your team plans to work on during the current Sprint. These issues should also be prioritized top-to-bottom.
- In Progress: This pipeline answers the question, “What are you working on right now?” Ideally, each team member should be working on just one thing at a time.
- Review/QA: Issues open to the team for review and testing. Usually this means the code is ready to be deployed pending feedback.
- Done: Issues that are tested and ready to be deployed to production.
- Closed: When an issue is closed, it will land by default in the 'Closed' pipeline, which is the last pipeline on the ZenHub Board. Closed Issues cannot be moved to another pipeline unless re-opened.
To keep your ZenHub board feeling organized you can collapse pipelines you don’t currently need by hitting the Collapse button at the top. When you need to see those issues, just hit Expand to pop everything out again.
Making it all come together
- Issues should be arranged by priority, with the most pressing issues at the top. Issues get more detail as they move up in the pipeline.
- Pin the highest priority Issues to the top of a Pipeline. During development or sprint planning, teams often encounter one or more issues which require immediate attention, such as a high priority bug. To help teams highlight important Issues and communicate the urgency of work, this ZenHub feature lets you Pin an issue to the top of a Pipeline.
- It’s not a one person job. A well-functioning team has all its members dragging and dropping issues as they progress, and a well-organized task board is the key to making this possible.
Download our free eBook to keep reading and discover how to configure your workflows for success!