As a CTO I have to handle dozens of tasks per week. Some of them are big, like digging into a new technology and others are tiny, like scanning through new candidate profiles or checking the latest bug reports. But all of these tasks <em>have</em> to be done. And to make things worse: Each conversation, each meeting and each mail can result in new tasks to be handled. So it’s crucial to have a task tracking system in place which works and ensures that I don‘t miss a thing and helps me to keep my deadlines.
Company Mentioned
Coin Mentioned
Photo by on
As a CTO I have to handle dozens of tasks per week. Some of them are big, like digging into a new technology and others are tiny, like scanning through new candidate profiles or checking the latest bug reports. But all of these tasks have to be done. And to make things worse: Each conversation, each meeting and each mail can result in new tasks to be handled. So it’s crucial to have a task tracking system in place which works and ensures that I don‘t miss a thing and helps me to keep my deadlines.
Being a development manager for more than 12 years, I‘ve tried out several solutions until I finally found the one which served me well for the last four years.
In this first part I will tell you why todo lists do not work for me, but personal Kanban does. In the second part I will show how I use personal Kanban in practice and which tools I am using.
Be warned: Productivity methodology is a very personal thing — what might work great for me might be unproductive for you.
Why Todo-Lists don‘t work
There is probably no other domain, for which so many apps exist, like for todo lists. Hundreds — if not thousands — of products are courting for our favor. There are apps focusing solely on checklists like and apps with other core domains which provide checklists as a supporting domain like . But according to my experience most of them are not suited for more than tracking shopping lists.
What to do now?
Why do I think so? Well, checklists don’t provide me the right tools for focussing on what’s important at the moment… at least unless you plan when to do something in a very early stage — for example immediately when capturing a task.
To understand this statement we need to take a look at the tools typical apps provide us to narrow down our lists. Naturally I can stare at my complete list, but here we encounter the problem with not seeing the wood of the trees (while I write this I have 65 tasks on my list — not counting the several sub tasks). So as we don’t want to go through the whole list over and over again we need to filter the list. Most tools at least provide some predefined filters like
„due today“ or
„due in the next 7 days“.
Or you even get the possibility to create your own filters which opens up new capabilities depending on the meta data you can add to your tasks. Sounds good, doesn’t it? So what’s wrong here?
The problem is the due date: To make tasks appear in „due today“ I need to specify a due date for it. And as I do not want to go through all the tasks periodically I found myself adding a due date to a task immediately while creating it.
This is the total opposite of „agile“. In agile methodology a central principle is to delay decision to the latest possible point in time, simply because the more time passes, the more knowledge I gain to make a sustain decision.
As tasks are different in size, the due date is a bad indicator for when a task should appear on my radar. If I only need to make a phone call on a specific day it is totally okay if the task appears on the due date. But if I need to write a specification which might take me two weeks, it is too late if the task appears seven days upfront.
As a result I’ve found me setting „tactical“ due dates on all tasks. These were not the real dates until the tasks needed to be finished, but instead I specified when I wanted the task to appear in my filtered views. So in fact I’ve diverted the due date from its intended use and made it an „appear on my list date“.
Surprise!
Another side effect with the approach of the „appearance date“ is that tasks suddenly appear like Jack-in-the-box on your list. You thought you’re on track and looking forward to the weekend and then — boom — on Friday morning suddenly the monster specification You’ve scheduled half a year ago appears on your todo list.
This can be really distracting and demotivating. As a result, after a while it feels as if the todo list is controlling you instead of supporting you.
Mostly done
Checking todos is the reward we receive for our work. It simply feels good to tick off a task and see it disappear. I found myself often in the situation that I worked on a task for a whole day and it was nearly done, but a tiny feedback from someone else was required. In these situations I have different possibilities:
Leave the task unchecked until I receive the feedback and ending my working day frustrated as it feels as I haven’t finished anything.
Tick off the task and create a new one to ask for the feedback. Well, this also doesn’t feel like progress.
Mark the task done to get the satisfaction for a hard day’s work and waiting for my colleague’s feedback which will then serve as my trigger to really finish the task. (Just lets hope that my colleague will not forget to send the feedback as the task will be stalled in nirvana then.)
TL;DR: Sum-up on Todo-Lists
So after using todo lists for eight years, this is my conclusion on them:
Pros:
They help me to get things out of my head.
They give me the good feeling that I wont miss a thing.
Cons:
To use filtered view I need to think about when it may be the best time to work on a task already when creating it.
Due dates are becoming tactical „appearance dates“ which is semantically wrong and takes away the possibility to specify a real due date if a task has one.
Tasks which have been captured long ago suddenly pop up like Jack-in-the-box in filtered views.
I tend to tick of tasks which are mostly (but not completely) done.
Personal Kanban to the Rescue
So lets see what personal Kanban is and how it may help us. I could tell you why Taiichi Ohno invented and introduced Kanban in 1947 to optimize the production chain at Toyota and that Kanban has been adapted for the software industry in 2007 by David Anderson, but this would exceed this article‘s scope. And after all personal Kanban is not really Kanban so that the backgrounds are not that important here.
Visualizing State
At its core Kanban is about visualizing state. The idea is: If I know the current state I can make profound decisions.
The visualization is based on three elements:
A card represents a single task.
The Kanban board hosts all cards.
The board is separated into columns and each column represents a state a task can be in.
The most left column indicates the initial state and the most right column the final state. So by default new cards are created in the left column and as the task progresses it is pulled across the board to the right.
Our first Kanban Board
Lets look at the simplest possible Kanban board:
The columns have the following meanings:
Backlog: Our outstanding tasks
In Progress: The tasks we are currently working on
Done: Our finished tasks
That looks pretty banal. But does even this simplest form of Kanban provide us a benefit about a simple task list? Yes, it already does:
In our previously used checklist we could only distinguish between open and done tasks. Our Kanban board additionally lists the tasks we are currently working on.
The „Done“ column gives us an overview of what we’ve achieved. No more leaving the office and asking ourselves what we’ve done the whole day.
Now you are already set: If you have a whiteboard and post-its you can immediately start. If you want to carry your „board“ with you, simply reserve a double page in your notebook and use tiny post-its.
Blocked Tasks
Lets go a step further. One of our problems with checklists was that we were not sure how to handle tasks for which our part is done but where we wait for contribution from others. So lets enhance our Kanban board with a new state Waiting to indicate exactly this:
If you’re done with your stuff and need things from your colleagues, simply pull the task in to the new column. This gives you the possibility to move something to the right — which feels like progress — but nevertheless you have a clear reminder that something is still pending and needs to be finished.
Whenever your „In Progress“ column runs empty you should at first take a look into your „Waiting“ column and check whether all of the tasks there are really still waiting for external contribution. If not prefer those over pulling new tasks from the „Backlog“ — better one task done than two in progress.
Scheduling
Our main concern with checklists is that they don‘t work well when it comes to scheduling tasks. Our current Kanban board doesn‘t provide any help here either: We only have a backlog column full of todos and need to scan through all of them each time we want to pick a new task.
To solve this issue lets add a new Today column to our board:
Now each morning we can scan through our backlog column and pull into the „Today“ column those cards we plan to work on today. During the day we do not need to care about the full „Backlog“ column anymore and can solely concentrate on what we’ve planned for today.
To save us from scanning the full „Backlog“ column each morning we can further enhance our board:
Our final pull-workflow now looks like this:
Each morning you pull tasks from the „This Week“ into the „Today“ column.
Each Monday you pull tasks from the „This Month“ into the „This Week“ column.
Each 1st of a month you pull tasks from the „This Year“ into the „This Month“ column.
Each 1st of January you pull tasks from the „Backlog“ into the „This Year“ column.
Each Friday I empty my „Done“ column. This gives me a nice overview of what I’ve achieved this week.
Be creative
Personal Kanban is all about you and your productivity. So adjust the board that it works best for you. Here are some ideas:
If you have no regular monthly tasks you may prefer a „Next 4 Weeks“ column instead of the „This Month“ column.
If your „This Year“ and „Backlog“ columns are mostly empty, reject the year column.
When there are upcoming vacations I create a „Before Vacation“ column to the left of the „This Week“ column where I collect stuff that needs to be done before I leave.
Put a due date on the cards to indicate tasks which need to be finished on a specific date. This will help you when filling your scheduling columns.
Conclusion
Personal Kanban is not for everyone as it requires you to regularly scan your board. So if you only have a handful of tasks to be tracked reminder tools might work better for you. But if you are like me and have to handle a lot of tasks each day, then personal Kanban might be for you. It provides you a handy tool for scheduling and tracking all your tasks. It helps you to keep focus on what’s important now and nevertheless you alway have all tasks in sight to avoid surprises. And as a bonus you get a nice overview of what you’ve achieved by simply looking into your „Done“ column.
In the next part I’ll show you, which tools I use to work with personal Kanban in practice and how these tools increase the benefits even more.