Matryoshka Todo List for task planning

Do you have enough time to do the tasks you want to do or have committed to today, this week or even this month? Will a quick glance at your todo list or calendar tell you that? If not, perhaps the Matryoshka todo list could be a solution for you to enable better task planning. It borrows an idea from the Matryoshka nesting dolls to quickly and easily indicate which tasks you need to get done and if it is possible in the time available.


Medion DIGITAL CAMERAIt is easy to over commit on projects and tasks, to think you can do more in the time available than is possible. A lot of that has to do with the lack of visibility on the time tasks take and considering that against the timeframe in which they are to be done. This article addresses this problem in a new and interesting way. It borrows the concept from Matryoshka nesting dolls. However, instead of smaller dolls being inside each other I will nest time units inside each other – months inside years, weeks inside months, days inside weeks and days inside weeks.

rocks-1408556-640x480When this is done there is a unique ability to easily sum the time durations of the tasks within each of those containers and to determine if it is possible to do them in the time available. This opens up exciting new possibilities for task management. Previously I had spoken on this topic in another article where I took the Big rocks concept from 7-Habits of Effective People and considered how it could be applied in practice. One fundamental tenant of that was to establish if we actually have time to do Big rock tasks and if so, then what time is left over for less substantive tasks. To demo this I used MS Project and the concepts behind resource levelling to illustrate how we can view how much of our time resource has been allocated in the future and what time is available for new tasks. I was not satisfied with the implementation as it used tools used for project management and was not simple enough. I think the method used in this todo list is much more elegant, can still yield the same basic information and is possible to implement in a program specialised for task management – Abstractspoon ToDoList.

Let’s explore this further in the next section where the concept is more fully explained.



To demonstrate the concept I would like to use the concept of filling up containers with activities and tasks. This was most expertly demonstrated by Stephen Covey in the video below when demonstrating the importance of Big Rocks – these are the most important tasks that you have to do. First, have a look at the video and then we take it from there.


So, we have seen that it is not a good idea to fill your available time with sand. Best to start with the Big Rocks, the important tasks, and fill the remaining time with the less important activities. In the video we have some important props that illustrate tasks and the time available,

The glass container – The time you have available

The Big Rocks – important tasks that you should have time for

Sand – Smaller, less important activities.

In this visual representation it was very clear how big the rocks were and how big the container was. However, in everyday activities it is not immediately apparent how much uncommitted time we have available and how much time is needed for new and current tasks. This problem we need to address with the Matryoshka todo list.

Let’s start with Stephen’s props and explain the concept from there. Imagine we have different glass containers to represent different time units – days, weeks and months. In terms of working time, these equate to 8 hours, 40 hours and 160 hours respectively.

We can stack these containers inside each other, as done with the Russian nesting dolls.

Time Containers

We can then view this single receptacle with time markings as our working time available up to 1 month. As tasks are added we see it start to fill up. With the addition of Task A and Task B, we have already filled up the current days activities. Any additional activities will spill into the next days or the current week.

Adding Tasks to Containers

So, from a glance we can quickly see that there is no more time available today for additional tasks. Currently though we have time available this week for additional items and plenty of time this month currently for other tasks.

This is the fundamental approach that we will take with the Matryoshka todo list.



Let’s now consider how the concept is applied in terms of workflows, putting tasks in and doing tasks. First up, putting tasks in.

Putting Tasks In

Putting tasks into the system is quite straightforward and requires only the answer to two simple questions,

When is this task needed – today, this week or this month?

How long will it take?

Once these have been answered the tasks can be deposited in the appropriate bin for when it should be done, today, this week or this month.

Putting Tasks In

One point to mention is the concept of an “Inbox”. Other task management methodologies such as Getting Things Done(GTD) utilise an Inbox as a holding area for new tasks until you have time to process them into the proper lists. Here I have not included but I see no reason that it cannot be used. To process the tasks in this approach the two questions above must be answered. The first I think can be addressed very quickly, perhaps under 5 seconds per task which would mean that an Inbox may not be necessary as the question can be quickly answered on receipt of a new task and the task quickly filed in the appropriate container. The second question though – how long will the task take, could require considerably more thought as one considers the intricacies of a task and the time required to complete that. In such cases “processing“, timeas indicated in GTD would be useful which requires then an Inbox to hold the tasks until the processing.

Doing Tasks

Selection of the task to do is also relatively straight forward. Look in the “Today” container. Do those tasks. Look in the “This Week” container. Do those tasks. There are questions that could be asked here. For example, should I first consider the important weekly tasks before moving to daily trivial tasks etc. Sure, that is possible. Likewise all of the other considerations for productivity can also be easily applied such as doing certain difficult tasks when your focus best allows. I see no reason why they cannot be bolted onto the basic framework outlined here.


Moving Tasks

Other consideration can also come up in terms of how to manage the todo list. One of those is about migrating tasks from one container to another as they become an item to be executed.

Certainly as some level task migration is a must. For example, moving tasks from the monthly list into the weekly list for execution that week or even from a yearly list to the month or week list.

An example of this would be if the tasks have been completed for the day and you start looking at other tasks this week. As we move down in timescales though we need to avoid the situation where management of a list becomes a burden. This is relevant for daily and weekly lists. Should one move those tasks into the “Today”, container or leave them where they are and execute them. I think there are advantages and disadvantages in both approaches. Let’s consider the pros and cons

Advantages of migrating to daily list: Clearly identifies the tasks as targeted for today. Moving them to this container allows the cumulative effort for those tasks to be calculated and determined if it is possible in the available time – the primary advantage of this Matryoshka approach.

Disadvantage of migrating to daily list: If the task has subtasks then the hierarchy of moving subtasks would disrupt the filing hierarchy. Time is taken is shifting tasks back and forward.

So, for longer time scales – year or month list, I think it is a must to move to shorter term focus. For weekly/daily, I leave it to the reader to select what works for them.




This is inevitable. A quick look at the list to pick up the tasks for today. Browsing and selecting other activities from this week’s tasks also necessary.


For the weekly review, we take some tasks from the monthly container to fill this week’s container with activities. Not advisable to fill right up to 40 hours as inevitably more tasks will come along.


Time to look at the longer term yearly activities and migrate across some of those tasks to the current months container.


Practical Implementation


Let’s now consider the practical implementation of this system. In this case I will make use of the free Abstractspoon ToDoList windows app. This is light, versatile app that I use on a daily basis and is heartily recommended. Multi-level folder hierarchies are possible and so I have used this nesting feature to set up the task containers for today, this week, this month and even this year – see below.

Todolist Implementation

The app also has the possibility to enter the estimated time and to sum the time for all subtasks. This enables the main feature of the Matryoshka todo list – calculation of the time already committed to tasks and visibility of the time available for new tasks. In the diagram above, the estimated time shows that for today, 6 hours has already been committed for Today’s Item 1, Today’s Item 2 and Today’s Item 3.

We also see that for this week, 16 hours has already been allocated so that leaves 24 hours available for any new tasks. The sum of the task times is automatic, so any new tasks will be immediately accounted for in these calculations.

In this app, new tasks can be quickly and easily entered and moved around between the different time containers simply by dragging and dropping. This makes organisation quick and easy.


Project Integration

As mentioned earlier, tasks can be entered, moved around and organised as part of the review process. However, there are cases when you don’t want them to be moved around. One such situation is where you have carefully crafted projects which may consist of hundreds of nested tasks, already organised by subject area. In such cases, it would be disruptive to this organisational scheme to start moving some between the various time containers. But, there are ways and means to deal with this.

Simple Projects

If you follow the GTD definition or a project it can be and task that requires more than one step to complete. So, let’s say we have 1 main task – “Big Weekly Task” and it’s 5 constituent subtasks.

Simple projects


Complex Projects

For large projects, with many subfolders, it would not be desirable to maintain two hierarchies for the same tasks. So, another option is possible, where we use reference tasks linked to the project tasks. The project tasks are maintained in a separate project folder. For each of their tasks we create a reference task and paste those into the time containers. When the reference task is completed, so will the main project task.

It is a 3 step process to get these reference tasks in place.

First, we get the Project tasks into our todo list. The may be from project management software such as MS Project. This import is possible in Abstractspoon ToDoList via csv import. I have organised Project A and Project B in the Project folders as shown below.

Adding Projects - Step 1

Now we wish to know which of the project tasks need to be done today, this week, this month etc. and put them into the relevant time container. This is also quite easy. Just apply the filter for this week etc. select the tasks, and “copy”.

Adding Projects - Step 2


Last steps, is then to go to the relevant time container, right click and select “Paste as Reference”. We now have reference tasks for all of the project tasks and we know the time frame in which we must take action on them.

Adding Projects - Step 3


Having entered all project tasks, the strength of the Matryoshka todo list again becomes apparent. As can be seen below, we now have a situation where the total tasks for this week total 56 hours! Clearly some re-organisation needs to be done and with this system this is immediately apparent.

Adding Projects - Step 4

Other Nestings

Typically tasks are nested when breaking down large unmanageable chunks of work to something that can be executed. In this Matryoshka todo list, the tasks are nested by time container. However, that is not to say that other containers are not possible. One obvious possibility is for SCRUM where nested sprints could be contained within a larger backlog. Again the summed time for all sprint tasks is immediately visible as sprint content is added.


Final Words

That’s it. Congratulations on getting to this point – I hope it was time well spent!


Add a Comment

Your email address will not be published. Required fields are marked *