Take the 2-minute tour ×
Personal Productivity Stack Exchange is a question and answer site for people wanting to improve their personal productivity. It's 100% free, no registration required.

For some reason, even though there are tons of task management applications out there, I'm not able to find many that have the capability to manage task dependencies. That is to say, if I must do A before I can do B, B should not be presented as actionable until A has been completed. I'm also looking for the ability to have multiple dependencies (C requires both A and B), arbitrary dependency chain lengths (Z needs Y, Y needs X, etc, as many deep as required), and nested hierarchies of grouping categorization (ex. projects can have subprojects, which can have subprojects, ad infinitum).

So, I'm looking for applications that:

  • Manage tasks
  • Provide a framework to use as you choose to (ex. provide project/status/tag categorization that's user determined)
  • Provide the ability to associate and reasonably view and manage task dependencies
  • Provide multiple dependencies for a task
  • Provide unlimited dependency chain lengths
  • Provide unlimited categorization hierarcies
  • Are technology agnostic (ie. either web based or platform independent)

I'm definitely not looking for:

  • Manual hacks and tricks to manually deal with task dependencies
  • Being forced to adhere to any specific methodology by the application (ie GTD)
  • Project management software (far too involved and complicated)
  • Trivial or toy software (has dependencies but is not 'robust' enough to use continuously as a system)
  • Technology specific solutions (windows only, mac only, iOS only)

The two closest things I've found so far, which are close but not quite there:

  • Omnifocus - Supposedly has dependencies, but is Mac only.
  • Taskwarrior - Has dependencies, but is command-line with very limited UI options, which presents a learning curve.

Are there more/better options that I'm not able to find? I know it isn't a very difficult technical problem, and I'm having a hard time understanding why so few solutions provide it.

Note: I've accepted Emacs org-mode as the best answer to my question. However, I don't currently have time to ramp up on it, so I haven't personally vetted it. My acceptance is based on the answer entirely.

share|improve this question
    
Since you already are aware of taskwarrior go ahead and give it a try: There is a tutorial and even a video tutorial which should bring you up to speed fairly quickly. The only downside IMO is that the Android version seems to take forever to arrive... –  0x6d64 Apr 19 '13 at 16:02
    
With Team Task Manager as your task management software, you will have more time to do real work and you will have to spend less time on assigning and organizing tasks. –  user5536 May 27 '13 at 14:12
    
Welcome to Personal Productivity! Are you by any chance affiliated with Team Task Manager? If so, you are required to mention this is your answer –  THelper May 31 '13 at 3:25
add comment

2 Answers 2

up vote 2 down vote accepted

Emacs org-mode can do that.

The software is

  • open source, free to use
  • and platform independent.

However, if you have never worked with Emacs, it might need some time to learn the basics. I have done that less than a year ago (starting from scratch - after working with a lot of applications with a much nicer GUI) and for me it's absolutely worth it:
I'm using Emacs and orgmode for my notes at home and at work and for task and project management and documentation.

Concerning dependencies:

Simple dependencies are already built-in, see TODO-dependencies (orgmode manual):

The structure of Org files (hierarchy and lists) makes it easy to define TODO dependencies. Usually, a parent TODO task should not be marked DONE until all subtasks (defined as children tasks) are marked as DONE. And sometimes there is a logical sequence to a number of (sub)tasks, so that one task cannot be acted upon before all siblings above it are done. If you customize the option org-enforce-todo-dependencies, Org will block entries from changing state to DONE while they have children that are not DONE. Furthermore, if an entry has a property ORDERED, each of its children will be blocked until all earlier siblings are marked DONE. (...)

For more complex settings, you can use the extension org-depend.el – TODO dependencies for Org-mode, which does also allow to block a task as long as another one is not marked done or set the todo keyword of a task e. g. from HOLD to TODO as soon as an other task has been marked DONE.

org-depend.el was originally a proof-of-concept implementation of TODO dependencies, using two special hooks, org-blocker-hook and org-trigger-hook. It remains in the distribution as an example on how more complex dependencies between entries can be implemented. In particular it shows how to implement the following:
* Dependencies on remote entries identified by ID. These entries do not have to be near-by and may even be located in a different file.
* The possibility to trigger actions in other entries. (...)

share|improve this answer
add comment

One application i used previously that has the capability to show dependencies is My Life Organized. I had stopped using it because it's design was rather dated and it was a paid app, but it looks like they just had a rather significant redesign, and there is a free trial. The amount of functionality offered with the software is staggering and there's just a whole lot you can do with it. I haven't really seen anything else like it. I might try it again after their redesign.

I asked a question like this previously. The answers might be useful, but it didn't really suggest any new apps besides my life organized

share|improve this answer
add comment

protected by Community Mar 13 at 1:34

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

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