views:

1279

answers:

17

How do you work? More specifically, how do you keep your programming tasks organized.

When I do Mac development at home I use software called an outliner to organize, keep notes and prioritize the tasks I need to do. I started out using a program called Deep Notes which is a nice simple free tool. But now I use The Hit List.

I’ve been looking for an equivalently good program on the Windows platform but so far have not found one. So far I’ve tried FusionDesk and am not satisfied with it. I’m starting to get the urge to write my own software but thought I would ask around first and see if anyone knows of a good product that I have not been able to find on this vast internet.

Updated

If you've never used an outliner to organize ideas, here is a brief overview. http://en.wikipedia.org/wiki/Outliner A good outliner is more complicated than a simple flat hierarchical TODO list but simple enough to be a one trick pony. One of the most important features of an outliner is being able to create a nested hierarchy of tasks. For example:

  • Implement Feature A
  • --- Add support at the data level
  • --- Create quick interface for Feature A
  • --- Create business logic that connects interface to data layer
  • --- Refine the interface

You can also collapse the nested tasks like a folder structure. If I'm not working on Feature A then I should be able to collapse the tree so it's sub tasks are not viewable.

+3  A: 

Did you considered open-source like bugnet ?

Bugnet Site

It is a bug tracking system, but you can also use it to manage programming tasks.

Trac is a good one also, runs on linux, (maybe also on win, never tried) and it integrates nicely with source control systems like svn.

Dani
Trac can run on Windows (http://trac.edgewall.org/wiki/TracOnWindows)
Pascal Thivent
I've installed Trac on Windows. Bad integration with Git though.
Ionuț G. Stan
+3  A: 

A good IDE and a good project manager will solve this, also the use of a notebook(like me) is very good, check Google Notes and remember that the TODO comments are a very nice development best practice.

Nathan Campos
Ah yes, To-Do Driven Development: http://secretgeek.net/TODO_driv_dev.asp
APC
+1  A: 

From what the two linked applications look like maybe Office OneNote might suit your needs.

As for me, I'm using issue trackers, // TODO comments in source code, loose sheets of paper on my desk, NextAction, my Nokia 9500 and the Windows 7 Sticky Notes. Whichever happens to be at hand. Yes, it sometimes makes ordering items throughout all these options a little painful.

Joey
+1  A: 

Evernote is cross-platform last I checked, and can handle both simple notes/todo-lists and more complicated stuff.

Amber
Problem with Evernote is it takes "search instead of organise" too far - you can't seem to organise your notes.
Graphain
I used Evernote for months until I realized that I couldn't find anything at all :)
Yar
+2  A: 

ForceDo is a free online to do list. You can add as many tasks as you want and start a timer which will force you to get things done. ForceDo will help you beat your procrastination.

A mix a to-do list and pomodoro.

philippe
+7  A: 

I use David Allen's ultra famous Getting Things Done approach to organize myself and GTDInbox for the implementation (imagine Gmail on steroids).

GTDInbox transforms Gmail into a unique task manager to effectively manage your inbox, reduce email overload and maintain inbox zero.

GTD is not specific to software development but can be used for any personal projects like writing a book, developing software, creating a company, etc...

Pascal Thivent
+1 - GTD rocks. see the orgmode answer for a combo of GTD+orgmode.
Epaga
A: 

Bug.NET for long-term planning (Software Projects only) & Rememberthemilk.com for short-term and recurring tasks eg. implement feature X (with Bug.NET reference), check backups, lunch with Andy ...

marc.d
A: 

Outlook can be quite useful in this space. Its task management isn't the most obvious of candidates for simple prioritisation, but if you create yourself some simple categories, such as "1 - Do now", "2 - Do this week", "3 - Do soon", "4 - Do sometime", or whatever approach you take, you're then all set to track tasks.

When you create a task, you can assign it an initial category (I create a keyboard shortcut for this - ctrl-F2, ctrl-F3, etc).

When you have your tasks in the system with an initial category, set your to-do bar to be sorted by category. You'll then find the things you're doing right now at the top of your list. The beauty is that you can drag and drop a task from one category to another, and outlook reassigns the new category.

Outlook also maintains the order of the tasks within a category, so you can actually prioritise even within categories, just by dragging a task above or below its neighbours.

A nice simple system.

You can also easily convert e-mails to tasks by dragging them in from your inbox. And you can also take task lists from sharepoint sites, and categorise them in the same way.

Works for me.

Cheers, Jake.

Jake Liddell
A: 
Mike Hanson
+1  A: 

I am using Toodledo (http://www.toodledo.com/). This is an online todo-list. You can define goals for hierarchical TODOs. It has many import/export functions.

Philipp
+1  A: 

I use a combination of tools.

  1. A plain graph-ruled notebook. Preferably a smaller one. 8.5 x 11 is too large. The vast majority of my stuff goes here. And it's not mine; it belongs to the company. When I leave, it stays there. Each day I start a new entry and the notes for the project go in there.

  2. Pencils. Never write in your book in ink. You'll want to change stuff too frequently.

  3. Whiteboards. You can never have too many whiteboards.

  4. If I have to aggregate information online, I prefer Microsoft Onenote. I can pull Word Documents, HTML pages, Excel Spreadsheets, and just about anything else I want into categorized notebooks.

That's it. I find that the cheapest, simplest tools are usually the best. Anytime I have tried to rely on a software solution, I've found myself spending more time playing with the tools than I have getting the work done. Naturally, YMMV.

Mike Hofer
+5  A: 
Ivan Nevostruev
+1. Mylyn rocks da house.
Epaga
+1  A: 

I use PivotalTracker - it's a webapp so I can access it anywhere with all my data there.

  • Tracks things by
    • Current
    • backlog
    • Icebox
      • things that are nice to have features or added for later release, but may not make it into the next release)
  • further subdivided by
    • Chore
    • Bug
    • Release
    • Feature
      • Measured by relative difficulty
      • Stages
        • not started
        • In progress
        • finished
        • delivered
        • Accepted (or rejected)

Projects are sorted by accounts (these are not separate logins) where I have a work 'account', a home 'account', and an account for each company/individual that requests side-work. All of it is free and there's a great API

There's a nice Getting started FAQ complete with an intro video if you click that section

There's email notifications, activity feeds, all kinds of things for collaborating on a project.

I've heard good things about FogBugz which also gives you a bug tracking email address and automatic customer reply.

Maslow
A: 

I've used Phitodo in the past and found it quite simplistic.

Off late I'm using Doit.Im, with its server sync support and all that jazz, it's quite useful.

Both are Adobe Air apps and hence cross platform.

Nikhil Kashyap
A: 

I will make mine a CW and plug my own free product, TheKBase (.Net on Windows only, although I've got a top-secret version in Mono that I'm running since September: I'll give it to anybody who wants it, of course). Once you figure it out, it will organize your work and any other knowledge you may have. It's a multiple-hierarchical notepad, and saves to XML (and will convert to whatever you want with XSLT). Several users organize entire academic disciplines with it. I try to get away from it, myself, but I can find nothing better (I was in love with Evernote for a while, but that turned sour).

There's a lot of stuff it doesn't do, of course....

Yar
+4  A: 

If you're at all used to Emacs, you might LOVE org-mode. I was not an emacs user, so it was a pretty steep learning curve for me, but it was so worth it. I now have a super fast plain-text based system with

  • hierarchical folding
  • search
  • tagging
  • scheduling / clocking
  • RSS fetching
  • email capabilities
  • NEW iPhone addon

all with a simple(?) Emacs addon. Frickin' perfect for me (and I'm a confessing productivity porn addict).


Secret tip for free: Combine this with the auto-file-syncing Dropbox (2.25 GB cloud space for free) and you'll never want anything else ever again. Well maybe that's a little bit of an overstatement...


Also, check out this article which really helped me get off the ground with a system that works well. He combines GTD and orgmode.

Epaga
Looks like it's worth the investment of learning because it will work on unix/mac and windows.
Matthieu Cormier
it took me about 3 days of having it open and forcing myself to use it as my system for me to have it really flow.
Epaga
That's cool anything worth learning takes time. I'm a vi guy but I have an emacs book laying around so I'll learn the emacs commands. Just don't tell any of my vi friends.
Matthieu Cormier
+1  A: 

Leo is a cross platform (pure python) outline editor. It will also automatically generate source files from the contents of an outline if set up properly meaning that your todo list slowly becomes your program.

It's kind of designed for literate programming on steroids, but as a tool actually makes the whole concept feasable. It takes some getting used to, but I love it.

It also allows you to keep the outline in a leo file but use either vim or emacs for the actual text editing of the 'nodes'.

mavnn