Task Board

Let's walk through how to set up your tasks and task board using your project management tool.

Your team is going to need a unified method for thinking about, organizing, and drafting tasks.

We'll start by setting up the task board, then I will dive into the details of the task itself. We start with the task board because it is likely the limiting factor on its feature sets, and you'll likely need to make compromises on how you format the task to fit within that framework. As before, it's best to start with the constraints in mind.

Creating the task board

In this and future examples, I'll be going through each step in either Trello or GitHub Projects (beta). If you're using something different and your tool of choice is specifically an agile project management tool, you'll want to follow the GitHub Projects example; otherwise, you may want to follow the Trello example.

Just give me the templates

I've created a template using the steps below that you can refer to:

I've tried to replicate the details from the steps in both tools so you can compare the two.

I have many engineering teams, how should I organize things?

All the examples and setup below are assuming you have a small enough team that you just want one board that everyone shares. When you have multiple engineering teams, I do recommend a board per team. This is easy to do: just make multiple boards and name them specific to each team. Most project management tools also make it quite easy to move tasks across boards, if another team needs to own it.

  • Click New Project then select the Beta version.

  • Rename the board appropriately. Rename View 1 to be Backlog.

Set up your view(s)

Now that your board is set up, we'll need to set up the view(s) where your tasks will be presented. We want a default view ("Backlog") for viewing our tasks grouped by iteration. Trello only allows one view (for its free tier) so we'll stick to the Backlog. For GitHub Projects, we will also set up:

  • a "Kanban" view for our current iteration,

  • a "Customer Issues" view to show unresolved customer-facing or customer-submitted tasks,

  • a "Release Planning" view for coordinating releases and testing,

  • a "Released" view to show all tasks that have been pushed to our production environment.

It's starting to sound like GitHub Projects is the better tool

It is. This is why it's our tool of choice at PocketRN. You'll see as we go through the setup that it does exactly what we need it to. The caution with GitHub Projects is that it's not as flexible and self-contained as Trello. For example, if you don't have your code repositories in GitHub, you lose some of its benefits (although, we will show you how to get around that). Don't be afraid to try out multiple tools before finalizing one. Don't be afraid to make changes even after finalizing. After all, agile development is all about adapting swiftly to changing requirements and opportunities!

Backlog view

Configure your fields

  • Use the + to create a new column (field). Select + New field.

  • Name it "Story Points". For its type, select Single select. Enter in the values: "QUICKFIX", "1", "2", "3", "4", "5+", and "?". You can modify those values later to fit your preference when we go over Story Points.

  • Create another field and name it "Iteration" with the type Iteration. For Start on select a day that would be the start of your iterations (a Monday). For Duration set it to 1 or 2 weeks depending on what you decided for your iteration length.

  • Create another field and name it "Completion History" with the type Text.

  • Create three new fields, but this time use the predefined Hidden fields: Milestone, Labels, Linked Pull Requests (ignore that last one unless you use GitHub for your code repositories).

  • Select the arrow/caret for the "Status" field. Select Edit values... For the Options, have: "Blocked", "Todo", "In Progress", "In Review", "In Verify", "Passed Verify", and "Released". We will talk more on these later.

  • We will go over what each of these fields are for later on.

Configure the view

  • Select the arrow/caret next to "Backlog". Select group and choose Iteration. This will organize the board so tasks are grouped/sorted by their iteration.

  • Select the arrow again. Select Search or filter this view. And type: "-status:Released". This will hide any tasks where the status is "Released" (aka, finished tasks).

  • Select the arrow again and click Save changes.

Sanity check

  • Start typing in the "Title" field of the first row. Something like "Example task" is fine.

  • If you did everything right, your board view should look something like what we have below.

Other views

Kanban view

A Kanban board is used for keeping track of what each team member is doing presently. It's an easy way to see what's in progress, what's left to do, and what has been done.

  • Select the arrow/caret next to "Backlog". Click Duplicate view.

  • Rename the new view "Kanban".

  • Select the arrow/caret next to "Kanban". Change the Layout to Board.

  • Select the arrow again. Change the filter from -status:Released to iteration:"@current".

  • Select the arrow again and click Save changes.

Customer Issues view

This view shows only the tasks that are specifically a customer-facing or customer-submitted task. This will help your engineers prioritize these tasks first.

  • Duplicate the "Backlog" view again. Rename it to "Customer Issues".

  • Change the filter to label:"customer issue" -status:Released.

  • Save the changes.

Release Planning view

Unless you do full continuous deployment, you'll have a release schedule in which tasks are reserved for releasing into your production environment until a sufficient number have been saved for pre-release validation. This view shows all tasks that are candidates for the upcoming release. We typically keep this view open while our engineering team is verifying each task so we can quickly move tasks from "In Verify" to "Passed Verify". Once we release, all "Passed Verify" tickets are moved to "Released" where they will disappear. Don't worry. They aren't really gone.

  • Duplicate the "Kanban" view (we want the Board Layout). Rename it to "Release Planning".

  • Change the filter to -status:Blocked -status:Todo -status:Released -no:status.

  • Save the changes.

Released view

This view shows all tickets that have ever been released. See, I told you they didn't really disappear.

  • Duplicate the "Backlog" view. Rename it to "Released".

  • Change the filter to status:Released.

  • Save the changes.

Sanity check

  • If you did everything right, your board view should look something like what we have below.

That was the hardest part, I promise! Next we'll do a bit more preparation before we go into the finer details of the tasks.

Last updated