Taming the TODO
In this article, I offer some ways to manage your tasks. From simple text files to full-blown personal information managers (PIM), there's bound to be one method that fits your way of working. I also share some tips on managing your tasks and tell you about how I fit a task manager to my way of working.
If you're accustomed to the advanced task management features of Microsoft Outlook and other proprietary PIMs, then Ximian Evolution and the KDE PIM suite are great fits for you. Ximian Evolution was developed for the GNOME user environment, and the KDE PIM suite is part of KDE, but each is usable with other desktop environments.
Offering a polished interface for creating and managing tasks, attaching files and even synchronizing with personal digital assistants (PDAs), these full-fledged personal information managers can help you tame your to-do lists (TODOs) in style.
Sometimes the simplest method is the best. Keep tasks in a plain text file, and you're already well on your way to taming your TODOs. Text files win in terms of flexibility. You can keep your list in any format you want and edit them using your favorite editor. You also can share them with others through e-mail or the World Wide Web. You even can keep them backed up and synchronized with other computers using tools such as rsync and CVS.
Memorize keyboard shortcuts for copy and paste. Incremental search is a great way to jump to tasks if you remember a small part of the description. Your text editor then can display matches as you type in characters. Check out your text editor's features for more help.
Beyond the basics, a little bit of programming makes TODOs easier to keep. Write a small program or shell script to add items from the command-line or a keyboard shortcut. The less effort it takes to write down a task, the more you'll remember, so automate as much as you can. You can sort tasks manually by copying and pasting lines in your TODO list or even writing programs to put everything together.
For more software support, check out Freshmeat.net for hundreds of simple TODO managers. If you know how to program, pick a TODO manager in a language you know or would like to learn. Extending a manager's capabilities not only helps you grow as a programmer but also lets you tailor it to your particular quirks.
E-mail is a popular way to keep track of tasks. If you practically live in your e-mail client, why not use it to keep track of the things you need to do? You can forward messages or write yourself reminders. Use meaningful subjects to make it easier to get a bird's eye view of your messages.
Watch out for information overload, however. You may need to find that urgent TODO in an archive of thousands of messages. Check out your mail client's features for options of how to tag messages. Use folders or labels to flag messages for follow-up action. Tag or file messages as TODO, and remove the label or change it to “done” after you finish the task. Keeping track of tasks is easier with full-fledged PIMs, such as Evolution and KDE PIM, which allow you to mark a message for follow-up or convert it to a task.
What about small tasks? It might seem silly to e-mail yourself a reminder to buy milk, but unless all of these TODOs are written down somewhere, you're going to spend mental energy thinking about them. You therefore may need to supplement your Inbox with a way to keep track of smaller tasks.
If most of your tasks can be accomplished quickly and you can keep your inbox manageable, e-mail is a convenient way to keep track of your tasks.
Many software projects use request trackers to make sure that bug reports and feature requests don't slip through the cracks. You can use one to keep track of your personal TODOs too. Although a request tracker requires a lot of set up time and effort, you reap the benefits of a solid project management system.
Request trackers, also known as bug tracking systems (BTSs) or issue trackers, archive all of the messages related to a TODO, making them great for tasks occurring over long periods of time and tasks where you need to collaborate with other people. You can send the e-mail address or URL for a task to other people so they can confirm your work or add comments.
Request trackers can produce task-related graphs. For example, you can track the increase or decrease in open, resolved and closed tasks over time to get a rough estimate of when you're most productive or overloaded.
If most of your tasks require input from others, check out programs such as RequestTracker and Bugzilla. With a good bug tracking system in place, you easily can keep track of what you're waiting for and from whom.