Bye Bye Programmer's TODO List, Hello Personnal Kanban on Jira

EDIT 2017-03-03 : This article is old, I am now using an improved Jira Personnal Kanban.

Not long ago, I wrote that Real Programmers have TODO lists … I was wrong, I now work without a TODO list ! So either I’m not a real programmer anymore, or I’m actually using TODO List v.2.0. Read on !

Motivations

My work has become quite varied lately. On top of programming and pairing, I am also doing quite some coaching within the team. For the whole Murex programmers community, I’m organizing Coding Dojos, Brown Bag Lunches and Technical Talk Video Sessions. Finaly, like all of us, I have to cope with my share of organization overhead.

Multitasking was starting to kill me. I was feeling exhausted at the end of the day, with the certainty that I was not getting much done …

Personnal Kanban To The Rescue

Kanban is a method to organize your work relying on Work In Progress limits : it minimizes multitasking and encourages prioritization.

As its name suggests it, Personal Kanban is simply applying Kanban to your own tasks. It turns out that :

  • My team tasks are already in JIRA
  • Some guys have already tried to use JIRA as a todo list
  • JIRA supports Kanban boards with WIP limits and all

The Kanban Board

In our team, TAYARA Bilal had already experimented the approach and asked to JIRA admins to create us a custom project for our todo lists. I piggybacked on it and created my own kanban board. Here is what it looks like.

Mixing Project Stories And Personnal Tasks

JIRA allows creating a kanban board that spans many projects ! You can simply choose multiple projects when you setup the board for the first time, or you can edit your board filter like this :

1
project in (POPIMDB, POPABTODO) ...

This makes it possible to see all of my work at a glance on the same board.

Work In Progress Limit

JIRA allows WIP limits, warning me with a red background when I am multitasking or when I am getting late on my tasks

Color Conventions

JIRA makes it possible to assign different colors to cards, for example

  • Red for tasks that are due soon
  • orange for cards that are due some time
  • light brown for project stories
  • green for other programming tasks
  • blue for other tasks

Swimlanes

JIRA has swimlanes, separating project from personal tasks

Reports

An extra bonus with JIRA Kanban board is that they have reports ! Here is my cumulative flow diagram for my first week of usage :

Configuration

Here is the JQL query I used to configure it this way.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
-- board filter
project in (POPIMDB, POPABTODO) AND (Assignee = pbourgau OR Co-Assignees in (pbourgau) OR mentors in (pbourgau)) AND (status != CLOSED OR updated >= -1d) ORDER BY Rank ASC

-- Swimlanes
priority = "1-Very High" -- Expedite
project in ("POP IMDB") and (labels not in (SLACK) OR labels is EMPTY) -- IMDB Stories
-- and a blank filter for Other Tasks

-- Card Colours
duedate <= 7d or priority = "1-Very High" -- red
duedate is not EMPTY -- orange
labels in (SLACK) -- green
type = Task -- blue
-- and an empty filter for light brown

The End Result

By setting a WIP limit of 3 on the “In Progress” column, the following naturally happened :

  • Once I have started a programming task, I now defer any other activity in the TODO column until I am finished. (HINT: If you get invited to meetings all the time, lock your agenda with ‘Unbookable’ days when you start programming)
  • It actually pushed me into finishing the concurrency-kata training I had started long ago.

I also set a high WIP limit (around 10) on the TODO column, this way, I get a kind of warning that next time I finish a programming task, I should take some time off to prune the column.

The overall result is that I do lot less multitasking. I get the feeling of doing steadier, more efficient work.

If you are suffering from multitasking and decide to give it a try, I’d love to read about your experience !

Comments