Looking for an online ToDo tracker for a small team? Try Red Booth, it’s got good mobile app support, and is free.
I was also looking for a simple offline ToDo List tracker on Sunday, so I tried Kanboard, which has very similar features. Kanboard is free, very light-weight (2MB), platform-independent, easy to install, self-hosted, and minimalistic (as in, it has only the most essential features). Kanboard is based on the Kanban board method.
The main idea of a Kanban board is to visualize the workflow. Typically, projects are delayed or fail because you underestimate the workload, and overestimate yourself. A Kanban does not prevent delays or project failures. However, a Kanban enables you to detect impending “doom” as early as possible. As soon as you see that you cannot complete a job in time, you can react and adjust your plans.
To get a quick picture, see how Henrik Kniberg explains Kanban in a smart little cartoon.
Your Kanboard can accommodate several users and track several projects. You split your work into projects, tasks, and subtasks.
- Each project has custom categories and custom status columns. Projects contain tasks.
- Each task is in one category, and has a description and a status. It has a due date and duration, one owner and one color, attachments and comments. Tasks contain subtasks.
- A subtask is one line of text. Its status can be Todo, In Progress, or Done.
That’s it! No frills.
Kanboard requires a PHP-enabled web server, such as Apache. You need to install this server and know how to manage its web root on your system. Depending on your experience level, this is the only complicated step.
- Activate the web server and PHP support on your localhost. (For example Apache on MacOS)
- Download the zip file from http://kanboard.net/
- Expand the zip file, and move the resulting “kanboard” directory into your web root directory.
- Make the “kanboard/data/” directory writeable for your web user (there is probably a more secure way to do this, but the following works):
cd kanboard/ chmod a+w data/
Setting Up Kanboard
- Access kanboard in your browser under “http://localhost/~username/kanboard/”. (The actual URL depends on what your localhost Apache URL, your username, and kanboard directory name is).
- Log on to kanboard with the admin/admin default account.
- Change the admin password.
- Create a user account for yourself (and possibly others).
A good project is something concrete that has clear criteria. For example, “Install shelves in garage” or “Grow vegetables” are better project ideas than the very generic “Household” or “Gardening”.
- Access your Kanboard and log on as admin.
- Click Projects, click New Project, and provide a project name.
- Click Edit Board in the project list if you want to define custom status columns. Otherwise, keep the default status columns: Backlog, Ready, In Progress, Done.
- Create custom categories for your project.
- Back on the Admin’s Projects page, specify “Automatic Actions”!
Kanboard offers simple but useful if-then event handling for each project. For example, “if ‘task creation’ in ‘backlog’, then ‘assign task to person who did the action'”.
Tip: Think of categories and colors as mutually exclusive subdomains of one project: Each task can be in one category only, and be tagged with one (of 7) colors only. Categories allow you track several simultaneous hobbies in one project, so you can compare the time you will spend on all of them. If you engage in two hobbies but track them in separate projects, you defeat the tool’s purpose of visualizing your overall workload (and you’ll accidentally allocate yourself 200%)!
I haven’t decided yet what I want to use the colors for – most likely priority/urgency levels. If you track teamwork, you can also assign a color to each team member via Automatic Actions.
If you kept the defaults, your project has four status columns for tasks:
- Backlog: Your queue of open incoming todo items. They are possibly unassigned or non-urgent, are missing done-criteria or subtasks, or have no due-date yet. This column is typically very long.
- Ready: Todo items that you intend to work on in the current time frame. They are important or urgent (due-date), and you have defined done-criteria and subtasks for them.
- In Progress: When you start working on a task, move it here.
- Done: When you’re done, move the task here. The project is done when all its tasks are done.
Break down the project into tasks and subtasks. Define each task with the thought that a task has a “result that you could show to someone”. Analyzing the problem, completing prerequisites such as readying parts and ingredients, designing a draft/boilerplate/pattern/stencil, or testing whether the “result” truly works, are just as valid tasks as the steps of the actual execution. Each step of the task is a subtasks that you describe in one line.
- Access Kanboard and log on as user.
- Open a project. Click the Plus button for the Backlog to add a task.
- Name the task. Under Description, describe the goal (what problem you are trying to solve), the stakeholders (who benefits, who is impacted), the method (how you want to solve it), prerequisites, and done-criteria (how you know that the task is complete).
- (Optional) Set a category and pick a color for each task.
- (Optional) Open each task, and add subtasks (one line of text each).
- (Optional) Add additional materials as attachments: Diagrams, drawings, recipes, videos, Excel tables, instructables, or related links.
- Drag and drop the task higher or lower in the backlog to express its priority.
While you plan and work, you switch subtask states from “todo” to “in progress” to “done”. When all subtasks are done, the task is done. You can update a task’s status quickly by dragging and dropping the task into the next column.
In Kanban, you do not only get tasks “Done”. You also regularly pull tasks from the “Backlog” and get them “Ready”. Similarly, you sometimes have to limit yourself, and admit that you have to return tasks to the “Backlog” (optimally, you don’t pull them in the first place).
- If the “Ready” column is empty, define the missing properties of a high-priority “Backlog” item, and pull it into “Ready”.
- If the “In Progress” column is empty, pull a high-priority item from “Ready”, and start working.
- If the “In Progress” column is full*, you are slowing yourself down by multi-tasking too much. Time to re-focus! Limit yourself by returning low-priority tasks to “Ready”.
- If the “Ready” column is full*, you have overtasked yourself for this time period. Limit yourself by returning low-priority tasks to the “Backlog”.
* What’s the definition of a full column? Officially, the limit is two items per person. For tracking my own relatively simply-structured solo hobby, I decided full means “the column no longer fits on the screen without scrolling”, which is 5 items. This includes “In progress” items waiting for paint or glue to dry.
You could also use Kanboard to track projects with a cyclical workflow, this means all “Done” items get pulled back into the “Backlog”. This type of project would never be fully “Done”, you would merely use the Kanboard to track the status of a recurring workflow.