What is a task

Innocuous questions about basic things end up causing me so many headaches.

I was trying to map some tasks to each other at work—there are, notionally, definitions of tasks and how they relate to each other, but it's not formally laid out—and I paused for a moment to ask myself: what is a task?

I'm not sure if that's even relevant to what I was doing, which has to be wrong, right? You can plan tasks without having a formal definition. I don't know how I'd get through the day without a heuristic like that. A task is a thing to do, and when it's done, it's done. Anything more complicated than that and the dishes wouldn't get washed, the trash would pile up, and the refrigerator would be empty.

But I want to play with the formal idea a little. I'm taking OMM 500D Project Management at Wash U this year. I know how to use Microsoft Project reasonably well, but that's just a tool to use—I'd like to think about things a little from the bottom up, starting with questions like: what is a task?


Thinking about what a Task class looks like...

  • A Task is a thing to be done:
    • Describe the thing to be done
    • Know when the thing is done or not done
  • A Task starts:
    • It starts at a time
    • Someone starts it
  • A Task ends:
    • It ends at a time
    • Someone ends it
  • There are different uses for a Task:
    • Planning
      • A Task can be planned to start or end at a time
      • A Task can be planned to start when another Task(s) end
    • Doing (above)
    • Reference
      • A Task can be recalled later for information
      • A Task can be shown in a map with other Tasks

I have some doubts that this line of thinking is going to result in some sort of prize or breakthrough. I don't have any big problem to solve—this is just an exercise in building things. What does it take to build a task planner, or task analyzer, or project scenario visualizer, or whatever.? Not a to-do list manager (Microsoft To Do is mighty nice), and not a project scheduler (Microsoft Project is... what we have), but something else that lets me play. I'm also not a proper software developer, and there are some features of Python I've been meaning to learn how to use (e.g., NetworkX for graphing networks), and some methods for modeling systems that I ought to learn to be fluent with our modelers at work. So it's all unnecessary, but for fun.

I started a repo called renwu to play around. (任务/rèn​wu is the Chinese word for task.) We'll see where it goes. Metaproject: developing tasks for a project that develops tasks.
In the meantime—as ever—here are some interesting things that I found that I may (or may not—as ever) follow up on:


An alternative definition of task: something you were late in finishing.

Leave a Reply

Your email address will not be published.