Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Personally my favorite GUI to-do-list tool is ToDoList by AbstractSpoon (free). It can be customized to meet almost any need. It has limitless hierarchies for sub-tasks and projects. And plenty of hotkey support.

Also at some point I realized I could use MySQL + snippets + vim + external process call to utilize MySQL as a powerful tag-based task list tool. And I can't live without tag-based organization such as on delicious bookmarks.

SELECT task, priority FROM todolist


The power of MySQL for ToDoList. Maybe can even be used for notes if write some small soft for it.

In terms of planning I like the daily MIT concept of doing the (Most Important Tasks) before anything else and sticking to actually doing them. Also not forgetting to label the tasks as MIT.

So, what tools or strategies are best for planning?

share|improve this question

put on hold as too broad by gnat, MichaelT, GlenH7, Bart van Ingen Schenau, Robert Harvey Jul 10 at 0:13

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

Seems like a nice excercise in SQL, but I personally prefer todo.ly because it is so darn easy to use, and it is online. For serious projects planning I would use FogBugz, because it helps with realistic estimates, amongst many things, and you can potentially get a free license. Remember: planning is just the first portion; execution is another. I think that it is important to remember how the project evolved over time, what worked well and what did not. Now that I am saying this, I have to mention Scrum as well (because that is what you do once per sprint - you evaluate it). Scrum is MIT++. –  Job Jan 23 '11 at 4:11
add comment

5 Answers

Well call me old school but Pen + Paper

Its the end all/be all for planning. I can write, I can draw, and I can do it all with the same app.

share|improve this answer
I am way too messy for that! –  zhenka Jan 23 '11 at 4:11
I bought a large chalkboard for my room for that reason. +1 Sir. –  Rob S. Jan 23 '11 at 4:34
Just curious, what type of paper do you use? Graph paper, lined paper, copy/printer paper, note cards, colored paper, scrap paper...etc? –  Jesse Jan 23 '11 at 4:50
+1. I am messy myself. When I need to make something nice and pretty, I would use the power of Dia/Visio/Latex/asymptote/etc. However, I often start with pen and paper and get the basic throw-away sketch down. At that point I am not worried about perfection. –  Job Jan 23 '11 at 14:15
@Jesse All dependent on what I am doing (And what I have closest to me). If I'm just outlining features or something, well lined paper. If I'm sketching out the GUI for an application, well graph paper is what I go for. –  Glenn Nelson Jan 23 '11 at 14:51
show 3 more comments

When my notes are digital (they aren't always) they are in emacs org-mode.

Fast, text-based, easy, powerful. :)

share|improve this answer
Same here; very flexible and powerful. Easy only if you are already quite confortable with emacs I would think though. –  kasterma Jan 23 '11 at 13:19
add comment

I try to use a KanBan approach: put everything that I need to do on the board (virtual) and make sure that they all arrive in done.

The tool that I use is a self written kanban board (very simple), but you can also use agilezen.

share|improve this answer
add comment

I was using AbstractSpoon's ToDoList myself for a while, however I had to switch due to two reasons:

  1. list synchronization between work/home/on-the-road/etc (DropBox can be used to solve this today, it didn't exist back then)
  2. it was just too complex and the UI had its obstacles in it

In the end I realized that I need the simplest solution possible, with just task names and tags (and optionally with dates, priorities or notes) in order for the app to not block my prioritization process.

From the few solutions that I tried, I stayed with RememberTheMilk. Albeit I use it a GTD-like fashion, the basic functionality alone provides very good features on how to manage and plan tasks.

To give an example on how you would manage a new project:

  1. define a new "list" for the project
  2. add all tasks into it
  3. review and prioritize tasks in the list (e.g. by setting their priority or setting a due date), but do this only for the nearest period (e.g. next 1-2 weeks)
  4. you can then create a new "search" for that list with tasks that have the highest importance and/or closest due date, and save that search for future use
  5. this "saved search" is what you'd be working from on a daily basis (your "next-actions" list), and you'd do a review of all tasks in the project on a weekly basis (for example) in order to re-prioritize remaining tasks or to add new ones

Note that one thing that RTM does not have when compared to ToDoList is task dependencies, this can however be mitigated by points #4 and #5 from above. Dependent tasks which you cannot start working on yet can be kept in the project without an assigned priority/due date - these would not show in your "saved search" (#4) and thus not clutter the list which you'll be working from on a daily basis. Once you finish all dependencies for a task, you would set a priority/due date for it during the next review (#5).

share|improve this answer
Yeah I had the same problem + I prefer asci/command line for todo lists. So as I mentioned I started using MySql. I am now building a simple terminal app with c++ to do basic tag/task functions. –  zhenka Jan 23 '11 at 12:46
add comment

I just use a plain-text file as my todo list. If there is any structure in the project (e.g. milestones or sprints) then I order the items by that, otherwise it's just one big list.

My "syntax" is this:

- normal todo
    - sub item
?- not sure yet if I'll do it
.- done
/- canceled/won't be done

Normally, I move done items to the end of the list so that what is still left to do is on top.

On occasion, you might also find me quickly writing down something on paper or creating a UML class diagram (using whatever UML tool is available) if I really need to plan the specifics of something.

share|improve this answer
I really like the fact that you use canceled and not sure ill do it. Good idea. –  zhenka Jan 23 '11 at 22:33
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.