Archive for the 'Project management' Category

Jun 06 2009

My “ToDo” Map … evolved


In the previous My "ToDo" Map post I tried to explain how I use Freemind in order to keep things to do organized.

After a lot of time I'm using a mind map to keep track of tasks, memos, meetings, and so on, I realized that my map evolved to a new fashion. Step by step, I moved the nodes of the map and my map turned into a more mature shape.

If you like, you can download "ToDo" Map for freemind as an example of the structure I will write about in this post.

With time I realized that the "now on air", "today" and  "by day" grouping (see my previous post) is ineffective mainly due to these reasons:

  1. Every day I have to move to new location things I cannot do in the planned day.
  2. The difference between tasks under node "now on air" (currently doing) and node "today" is really thin and often impractical.
  3. The number of things I have to do in the future is enormous compared to things I can do in the next few days.
  4. I'm in trouble to define the precise day in the future I can place a task if the task hasn't a real deadline.
  5. I never comply with the theoretical plans, mainly under heavy load conditions, so I often rearrange my plans moving tasks, reallocating time, adding urgencies, redefining priorities...

The last point is the main cause to the evolution of my map. From a theoretical point of view I would have had the capability of defining things to do in the future with high precision, but real life is far from theory. The typical working day is full of accidents, urgencies, unpredictable events that make strict plans unusable, so any guess to strictly define future task failed.

The "evolving map"

Due to the limits described I defined the "evolving map". The "evolving map" (compared to the more static original map) is a map capable of transforming its structure over time in order to keep strong relationship with the real load of tasks. This type of map is well suited for frequent and fast redesign of plannings and facilitates the managements of urgency and low priority activities.

In order to transform my original "static" map the new "evolving map" I merged all the future tasks under a single "to do" node and I catalogued them in terms of priority and deadline (as deadline I mean the reasonable date and time in which one task should have placed under production to be completed in time) . The nodes "now on air" and "today" merged into a single node containing all the things I planned to do in the current day picked from the more general "to do" node.

Al the tasks are mixed together under the general "to do" node. The differentiating attributes are priority and deadline. Freemind helps a lot in this differentiation with "priority icons" (numbered from 1 to 7 in Freemind) and timers (only present in the full version of Freemind ) capable of alert when a the timer (placed at node level) reset.


Now let's see how to manage the main activities required in an usual task management:

  1. Add new task
  2. Retrieve the things to do
  3. Purge done things
  4. Rearrange schedule

Adding new task

In order to add a new task I have only to evaluate two things: when I need the task to be completed and how important is compared to all the other tasks I have to do. Then I placed a new node under the node "ToDo", I set a timer to a reasonable date before the due date and place a priority icon indicating the priority of the task. In this meaning priority is a rate for "importance" of the task.

Note about deadline: for unimportant or long term tasks, is usual not to have a strong deadline;  so I place the timer at the date in which is thought a priority escalation.  Two things can happen: in case of light load maybe I can complete the task before the alarm, in case of heavy load maybe the low priority task remains on queue for long so the alarm reminds the priority escalation. This ensure the task will be done in a reasonable time.

Note about priority/deadline: The use of priority and deadlines enables to the famous "important/urgent" time management model. In this model an effective time management is done rating the things to do in terms on Important/unimportant and urgent/unurgent tasks. Importance defines how much attention I have to place into the task; urgency defines how fast I have to take into account the task.
In this time management model:

  • the important and urgent activities are to do NOW
  • unimportant/unurgent things are low priority and long term activities
  • the important/unurgent are things to be planned before they become important/urgent
  • the unimportant/urgent things are related to tasks important for someone else and usually they can ben deferred to others.

The mind map can model this scenario simply managing urgency by timers and importance by priority. This affects how one retrieve things to do.

Retrieving the things to do

I usually work at my notebook with my ToDo map open in background. Every morning and sometimes during the day I look at my map and I see what I have to do.  Two things can happen:

  • Some alarms are notifying me that some tasks require my immediate attention. In this case I decide which task to start based on priority and reassign alarms to nodes I decide to postpone. Maybe, also, that some priority has to be changed due to the priority escalation process (See "Rearrange").
  • No alarms running. In this case I look at priorities/future timers and start the more urgent/important task I have to do. I must confess that this situation is really unusual to me, I'm constantly late with my schedule so my map continuously flash with a lot of timers...

Purging done things

Purging done things is the most beautiful operation because this means I have less things to do.

Usually this operation is simply a node deletion, when I need an historical view of done tasks I put these nodes under a specific node called "Done". If I preserve node I remove timer and priority icon.

Rearranging schedule

Rearranging schedule is the most strategical operation involved in task management. Freemind (and in general mind maps) helps a lot in rescheduling because is really fast and intuitive in moving nodes into the map.

Rescheduling is necessary in three specific moments:

  • timers warn about some task need attention, but at that moment there aren't resources to take the task into production
  • An urgent/important task that requires immediate attention comes, so the current activity must be suspended.
  • Periodically when planning the short term activities.

In all these situations I have to stop, look at the snapshot of the map and decide how to move hierarchically, in time and in priority the nodes. This operation makes me think to an "evolving" map, because if you could take a picture of the map at regular intervals you could see that the map changes in shape like a living being, expanding and contracting rhythmically as to the beating of the heart.

Map optionals

In the evolution of my primitive map, some other features took a new place: meetings and memos.


Meetings or tasks with precise collocation in time can be, of course, added to the set of things to do with a specific timer set in order to remind when the meeting happen, although meetings have unique characteristics that normal tasks don't have. First meetings haven't priority (once decided to attend to the meeting), then meeting are mono-task activities in the sense that cannot be done in parallel with other tasks, finally meetings cannot be done neither before nor after the planned date, in other words meetings occupy a precise window of time on the calendar.

Due to this considerations I found effective to place meetings together under a specific node and use timer as a rimender. In the text of the node I write the meeting date and time and I place the timer some days before the actual meeting date.


Memos are reminders, notes, memorandums took during meetings and phone calls. These type of information are not well suited to be placed under the ToDo node, so I have collect this information under a specific node called "Memos". Maybe I never delete these nodes, usually when the information stored is part of agreements or represent fundamental aspects of my activities.

In the very specific case in which memos are strictly related to a task, and if the lifetime of the memo is tied up with the lifetime of the task, I put the memo immediately under the node of the task placing neither priority nor timer.

Map with optionals

What about the original model?

I think that the "by day" model I proposed in my previous post is still useful in environments in which the prediction of tasks fits well the real execution schedule, when unforeseen tasks are absent or infrequent, in short when preventive planning is effective. In these type of environments the "by day" model has the merit of highlighting the sequence of tasks and set a strict step by step schedule to be followed.


If you like, you can download "ToDo" Map for freemind as an example of the structure discussed in this post.

2 responses so far

Aug 02 2008

My “ToDo” Map

 Download: Freemind ToDo example file explained in this post.

2009/06/06 - For an updated model see the new post My "ToDo" map ... evolved.


In my last post I wrote an introductive excerpt about Mind Maps, in this one I'm writing about how to use a map as tracker for things to do (ToDos).
I think this topic is really common in a huge number of fields. It is for sure very usual in IT development, but any person having to manage time and tasks has to keep track of ToDo items.

There are a lot of tools helping in this (the keywords "To Do managemet" in google result in a lot of links), even Excel or Notepad can fit the needs of tracking items, but IMHO none of them is really useful and flexible.
Any solution I tried, became rapidly useless mainly because the divergence between the snapshot kept by the software and the real situation on the field. This is due to these reasons:

  • editing of items not straightforward or cumbersome
  • too much varying scenario (related to the time necessary to update the electronic data)
  • too much formal approach (strict categorization of data into projects, category, time limit, date scheduled, notes, alarms)

In my everyday life the scenario is really changing, my ToDo things change on a per day basis or worst hour by hour. I usually receive phone calls or emails that completely change the plans of the following hours. If this deep and frequent changes are not effectively recorded by the software, the software is useless.
I think that the best ToDos tracker should implement these functions:

  • keep track of list of items
  • differentiate tasks based on priority
  • differentiate between things to do with strict dead lines and task not placed in time
  • allow rapid moves of tasks between different category and different time frames
  • manage notes about task
  • manage generic notes (phone calls, ideas, mini-brain storming,...)
  • manage alarms for critical deadlines

I found Freemind a perfect tool that implements every feature above. With a mind map I can change plans in a while or move groups of ToDo Items from one day to another with mouse click, again I can select short term items and highlight items in progress or just closed. Even a reorganization, following a misalignment between reality and the picture stored in the map, can be made with few clicks.
In short any task involved in ToDo management is really fast and the view of things ToDo is effective and always up to date.
Last, but not least, the organization of the things to do by means of a mind map is based on the way my brain keeps track of things. In this case the map is really an electronic representation of my mind.

My ToDo map Template

I'm going now to expose the organization of my ToDo Map. Take care that a map is really personal because strictly related to the thinking process of each of us, so this explanation is not made with the intent to propose a new standard, but only with the purpose of provide an example and some simple ideas about how one can keep track of tasks and ToDos.
My ToDo map is really huge, it is made up of 1363 nodes. Obviously these nodes are not only task items, there are a lot of notes, sub notes, and sub tasks. Despite this huge number of nodes I exactly know what my map contains; even if I don't remember every single node (if I had I would not have build it) , I perfectly know how my map is organized (I built it as my mind liked!) and where I have to look for any piece of Information I need. If I "serialized" all the text contained in the map in a plain word file (Arial 12 pt) I would get 40 pages (A4) full of text! I have no doubt about the fact that my map can store information in a better way than word (see my previous post for a detailed description about information density).

My Map start with the root named "ToDo" and has these child:

  • Now "On air"
  • Today
  • Next days
  • Background
  • Memo
  • Alarms
  • Done

Now "On Air"

This node contains things I started but not yet finished. This is useful in days when I open a lot of tasks and I interrupt them frequently in order to start new urgent tasks. It is the case of "bad days", when everything seem to happen against me.

This section maybe useful even with tasks requiring a post-processing by other resources before a task can be closed. In my work this happens when I launch batch processing on servers or when my work requires some processing from my colleagues.
I place a node In this section when I start a new task, I label the node with a word or a short sentence remembering me what I'm going to do. I also place an icon (little image) to enforce the concept of "in progress task".
When I finish a task in this section I remove the node from this section and I look for other tasks in idle.
Don't underestimate the helpfulness of this section. I realized that, without the use of this section, if I started actions in parallel I'm in trouble when I have to close all the opened actions, mainly because after 2 or 3 interruptions I'm inclined to forget the actions in idle.


In this section I put the items planned to be executed during the day. I populate this node the evening before or in the morning before starting activity. This section is the most dynamic, the one undergoing frequent modification during the day.
I'm usual to sort items by order of execution. In stressing days I move items from this section to "Now on air" when I start the activity, instead, when I'm able to execute task one at a time, I don't move the node and mark the node in progress with an appropriate icon when I start the task. Then I delete the node when done (or move the node into "Done" section).

Next days

This section is divided in the following subsections: Mon, Tue, Wed, Thu, Fri.
Under single days I put the activity that at first glance are located in time. In order to give a congruent view of the week I place tomorrow as first day in the list and thus I place other following days.
Maybe it is useful to divide each day in two subsections: mandatory, planned. This can help to identify task needed for that day.
Every night I put under review the section "Now on Air", "Today" and "Next day" in order to identify task not done as planned and therefore move nodes for the new updated plan.


This section collects tasks that are not precisely located in time, without deadlines and with very low priority. It is a sort of big box containing all the activities that usually are classified as "not necessary" and are removed from our memory. I also call this tasks: "The tasks in search of inspiration".
This section is usual to grow without end filled with useless items, but maybe an old and forgiven task emerges in the right moment to be done.


This section collects notes and unstructured memos. I usually put here notes about phone calls, agreement with customers or things I have to remember for a long time.
I prefer to divide this section into customer names, than projects and then notes about each projects.


I think to this section with historical purpose only.
I usually move here tasks closed if they include specific notes I would like retrieve in future.


This section is specifically based on a feature of freemind (full package) that make nodes able to react in a specific date and time. I put in this section any item needed in a specific date, usually I set the alarm some days before the due date and set the deadline into the label.
Freemind highlights alarms with two nice blinking icons either in expired node and in each forefather node up to root. It is impossible not to take care of alarms.
Maybe tasks in this section will move to other section of the map during the periodical review of the tasks, Freemind moves the alarms set to the nodes too, so everywhere a node is moved the alarm is preserved.

Note about clouds

A nice feature of Freemind are "clouds". Clouds are a way of colour the backgroud of a group of nodes.
A cloud can be applyed to a node, automatically all nodes inherited from the selected node are kept into the same cloud.
I apply a cloud with a different color to each section descibed above, in this way is really simple to identify the category of a node at a very first glance .


In the next picture a preview of my ToDos template, you can also download the Freemind ToDo example file.

Possible improvements

If you try this ToDo management you will probably realize that this map can be extended in order to store more structured topics. During time I extended my map with more specific items like: contacts, notes about books I read, code snippets useful in my work, .... In short everything I would remember, keep organized and available in short during the day.
In this way I get rid of a lot of text file, short word document and post-it that I was usual to place on my hard disk with the aim of remember interesting things.

7 responses so far