DEV Community

taijidude
taijidude

Posted on

Task Dependency Trees

If you have a lot on your mind it generally helps to write stuff down. I played around with a lot of note taking tools and techniques. A few months ago I realized I like a specific pattern to keep track of my tasks. Instead of the usual task list I create a task tree. This helps in situations where you are fingering out what to do while you are doing it.

So how does this look? Let's assume the following situation (yes, made up. But hopefully it gets the point across):
You have two tasks you are working on. The first one is adding some logic to a script that copies files from a server. But to achieve this you realize you need to find which server actually has the files for you. If you have found the server, depending on the server type you need to use a certain library to find the data on the server and copy it. After you found out, you need to ask a colleague via email about the connection data.

My suggestion is to write it down like this:

  • Adding copy logic to script a1.py
    • decide which library to use
      • lookup which server i need to copy from
    • email bob about the connection data

You write your main goal / task at the top. Indented under this are the steps you depend on to complete the main goal. One indented level deeper are the steps you depend on to complete your tasks from the level above.

Think of this as a tree. Your main task or tasks are the trunk. The Tasks in the different Levels represent the branches and the leafes. When you work on your tasks you complete the tasks with the highest level and than with the next highest level. You work from the leafes to the trunk.

Alt Text

Alt Text

This should give you the following information easily:

  • What to work on(highest level tasks)
  • Why you work on them (complete the tasks of the next level)
  • Should help to illustrate some bottlenecks (If a task depends on a lot of other tasks to be completed first)
  • If you need to complete for example ten levels of tasks to get to your main goal, you should maybe rethink your approach and see if this could be easier.

Getting a little fancier...

I use this system in OneNote. OneNote has a nice feature where you can put a symbol in front of a line. Ctrl + 1 gives me a checkbox for example. Adding these symbols helps to understand what I have to do a bit quicker. Plus it looks nice.

Alt Text

Top comments (0)