Over the last few years, I have tried a number of productivity apps for todos and task management: Todoist, Trello, Things 3, Google Keep, Evernote, OneNote, Emacs org-mode, etc. but nothing stuck. The pattern is: In an initial burst of enthusiasm, I create a large-ish initial todo list by making a brain dump of tasks in a productivity app. The list then languishes. Rinse and repeat when I come across (yet) another promising app. Why does this happen?

A realization came during a recent reflection: I do not have clarity on how I want to accomplish task management. Without that clarity, just messing around with tools and apps only gives a temporary satisfaction of trying out something new towards the noble cause of being more organized. To make an enduring set of task management routines, you first need to figure out how you want to define your tasks and engage with them. I do that in this blog post by defining a ‘Task Management Model’. The model captures essential aspects of describing tasks, viewing them, and the workflows around those tasks. With a well-thought out model, it is easier to find the right task management tool, configure it, and stick with it. If, like me, you have difficulties in consistently doing task management, grab a pen and paper and follow along. You’ll be able to create your own task management model and maybe that was the missing ingredient.

Projects, tasks, and sub-tasks

Task attributes and views

Figure 1: Task attributes and views

Task: A well-defined, scoped, piece of work that you can do in a single, actionable step. Ideally, you can complete doing it without taking a break.

Project: A collection of tasks serving the same overall objective that you wish to accomplish.

Sub-task: A sub-task is an optional breakdown of a task into smaller units of work. I typically use sub-tasks for capturing accompanying, small units of work that are a part of a specific task. Quite often, you don’t need sub-tasks. You can just create tasks, and group them into a Project if needed. But having the possibility to define sub-tasks is useful, when a small piece of work is intuitively very closely associated with a given task.

Sub-tasks, tasks, and projects need to have a clear definition of done. ‘Become healthier’, ‘Be a better dad’, ‘Make the house less messy’ etc. are not tasks, sub-tasks, or projects. They are aspirations. ‘Run 5 kilometers’, ‘Find 5 bed-time stories to tell your daughter’, ‘Organize the bedroom so that everything is in its proper place’ are better examples. Initial attempts to capture the things you need to do need not be precise or unambiguous. But when processing the tasks (see more in the ‘Workflows’ section below), clarifying them is essential to making them actionable.

Action: Dwell for a while on ways to describe tasks so that they are clear, concise, and actionable. Find patterns and anti-patterns. Create examples of well-described tasks and poorly described tasks. Even a brief attempt at this makes it easier to create better and more actionable tasks.

Categories, Contexts, and labels

Categories: are areas of responsibility. For example, ‘Household’, ‘Health’, ‘Hobbies’, ‘Your job’. Categories can be nested in a hierarchy (e.g. Personal > Hobbies > Wood Working), but the important thing is that all categories at a given level in the hierarchy need to be disjoint sets. This means that any task, sub-task, or project should be associated with exactly one category at a given level in the hierarchy. If you can associate a task with multiple possible categories, you have likely messed up your categories. Categories are often implemented as folders or equivalent in task management software.

Contexts: are when you can execute a task. For example, ‘Commuting’, ‘At home’, ‘Evening’, ‘At grocery store’, ‘Low energy’, ‘Needs focus’. If you tag tasks with contexts, you can create a filtered view of tasks that can be done in that context. For example, if you have a long commute, you can quickly see the list of tasks you can do during the commute. Usually, a task has only one context, but this is not a strict rule.

Labels: A label (also called a tag) is any piece of information that you wish to associate with a task. For example, I use the label ‘10min’ to associate with a task that takes 10 minutes or less to do. I also use labels like ‘Reactive’ and ‘Proactive’ to clarify whether the task is being done as a reaction to an external stimulus or as a deliberate action I want to take of my own volition in order to craft my life. A task can have multiple labels associated with it, unlike Categories.

Although contexts have narrower semantics than labels, labels may be used as a way to define or create contexts. So you can create a set of labels – one label for each context – and associate that label with a task, as the task’s context. This is how many task management tools implement contexts.

Action: Dwell on the categories, contexts, and labels that you would like to use. If you wish, it is perfectly fine to only think of categories to begin with. Contexts and labels can come later.

Task/Project attributes

Attributes are structured pieces of information that tell you more about the task (or Project). Categories, contexts, and labels describe above are attributes. Other attributes are

Title: The one line title of the task. This is what shows up in most task views.

Description: Additional, potentially longer free-form description or content relevant to the task.

Dates: A set of dates relevant to the task. The set of dates I use most often are

  • Deadline: A hard date by when the task must be completed
  • Start date: Date after which task can be started
  • End date: Soft deadline. Date by when task should be completed
  • Scheduled date: The date on which you intend to do the task
  • Review date: The date on which you intend to review the task

Duration: Unit of time over which the task is expected to be done

Project: to which the task belongs

Priority: The importance of the task. Can be High/Medium/Low or some other scheme.

Subtasks: The set of tasks that are sub-tasks of the task

Dependencies: The task(s) that come before/after

Attachments: Any miscellaneous files that may be attached to the task

Action: Decide which attributes are important to you. Not all attributes are needed, relevant, or important to how you work with your tasks. Typically, attributes like ‘Title’ are very common and it is unusual to skip them. Other attributes like ‘Dependencies’ or ‘Review date’ may be skipped.


When working with your tasks, for example, when reviewing them, you may want to see only those tasks that meet a specific criteria. For example, if you are commuting, you may want to only see tasks that are relevant while commuting. At other times, you may want to focus on tasks to do today. You may want to review tasks that have dates in the near future, or tasks that can be done when you are low on energy. This is where Views can help. A View is merely a subset of tasks that meet your criteria. A view is usually generated by applying a set of filters to the total set of tasks. Most often, a view is saved so that you can readily and repeatedly use it without having to enter its filter criteria every time you wish to see the view.

The views that you will need depend on your workflows i.e. the ways in which you interact with your tasks and manage them. As examples, the following views are most useful to my workflow

Today: The set of tasks that are scheduled to be done today

Upcoming: The set of tasks that have a date attribute in the near future. The date may be any of scheduled, start, end, deadline, or review. Sometimes it is useful to be able to see these tasks in a calendar view.

Unscheduled: The set of tasks which have no date attribute. These are usually tasks that have not been scheduled or do not have a specific deadline.

Overdue: The set of tasks whose deadline is in the past

All Tasks: The set of all tasks entered into the task management tool

Waiting For: The set of tasks labeled ‘WaitingFor’. These denote items that I am waiting on someone for. For example, you may be waiting for a response to a particular email.

Someday: A specific type of unscheduled task. This is a task that I have no intention of doing in the immediate future. Rather, it is a wishlist.. things to do someday..

It is also useful if the task management tool has a way for you to quickly enter a set of criteria and see an instantly populated list of tasks meeting that criteria.

Action: Think of your workflows and create a set of views most useful to you. This need not be a comprehensive list. Start by identifying a small set of views to begin with and you can add more later.

The Inbox

The Inbox is a special place in your task management tool where you dump raw task related thoughts as soon as they occur to you. Did you just realize you need to buy some toothpaste? That you are waiting for a response to an email? Your wife had said to withdraw some cash from the ATM on the way home from work? Dump that into the Inbox. You can review, sort, clarify, or otherwise process the tasks later. The moment you get a task related thought.. anything that needs to be done.. anytime, anywhere, capture it in the Inbox.

Your task management tool should make the action of capturing thoughts to your Inbox as fast and easy as possible.


Workflows are sequences of steps you take regularly to interact with your tasks. This can mean clarifying the exact task(s) to be performed, disambiguating titles and descriptions, pruning duplicates, grouping related tasks, assigning due dates, adding relevant information to the task, scheduling tasks, deleting unneeded tasks, and so on. Defining good workflows and adhering to them is what makes task management successful.

I use the following workflows in my task management

Clearing Inbox Workflow

Figure 2: Clearing the Inbox

Clearing the Inbox: Once a day, or occasionally multiple times a day, I go through and process the raw tasks dumped in the Inbox. If a task does not need to be clarified immediately or done in the foreseeable future, it is marked ‘Someday’. For the remaining tasks, I make sure the title and descriptions are accurate, unambiguous, and have clear definitions of done. I add and link any dependencies the task may have (e.g. precursor tasks), break it down into sub-tasks, and/or associate it with a Project. Sometimes, this is when I realize that the task may not, in fact, be a task at all. Maybe it is just a reference to information I need to keep. Or tasks that are actually done by the time I get to them. Sometime the tasks are not mine to do, but to be delegated to others. For tasks that are definitely mine to do, I associate them with the correct category and add needed contexts or labels. Next, any known dates such as deadline, review dates, etc. are added. If possible, the task is scheduled to be done on a particular date, else left unscheduled. After a task is processed in this way, it is no longer in the Inbox. During processing, it gets moved to the category it is associated with. The aim of clearing the Inbox is to leave zero unprocessed tasks in the Inbox.

Daily and Weekly Reviews

Figure 3: Daily and Weekly Reviews

Daily review: After clearing the Inbox, once a day, either early in the morning (or late in the evening), I review the tasks that need to be done that day (or the next day, if reviewing late in the evening) and ensure they are showing up in the Today view. I also look quickly through the upcoming tasks and check that nothing that is due is missed. Finally, if there are just a few tasks to be done that day, I pull in additional tasks into the Today view from either the Upcoming or the Unscheduled views. The aim of the daily review is to ensure that the correct set of tasks is being worked on today.

The weekly review: The weekly review starts off as a daily review. Then I review the unscheduled tasks and add dates where possible (thus moving the task from unscheduled to upcoming). Then I review the tasks marked as ‘Someday’ and potentially schedule them to be done in the near future or delete them if it is clear that they don’t need to be done. This is also when I reflect on the types of tasks I have been doing and how and where my time is spent. The aim of the weekly review is to ensure that you are living in alignment with your core values, living intentionally, and spending time the way you’d ideally like to spend it. For example, I check whether most of the tasks are ‘Reactive’ (bad), whether I’ve indeed been spending enough time on things I enjoy doing (good), etc.

Action: Think of, write down or sketch the workflows you would like to use. Without a clear understanding of your workflows, it is nearly impossible to consistently achieve good results with a task management tool.

Next steps

Now that the task management model is defined, different tools can be examined from the viewpoint of how well they enable the implementation of the model. This is a good time to think of the behaviors and other non-task-model requirements you expect the task management tool to support. We will examine these in detail in the next blog post.