Say we want a new feature to handle processing a file and generating metadata from it after upload - in this case we'd have a high-level task of "Generate metadata asynchronously on upload" then within that I can have sub-tasks like "Create Resque job on upload", "Generate metadata in Resque job", "Update model with metadata", "Mail user on completion" - this way the main task list isn't cluttered with too much detail, and when I'm in the actual task the list of things to concentrate on are fairly small (I like to break a task up into 5 or so discrete parts which seems about right to me)