So, to start off, I want to say that this is a terrible idea, violates the QS-first principle with a giddy vengeance, is stupidly complex for nothing, and you definitely should not do it. Okay, so, here’s how I’ve done it.
First, this really only works for projects that don’t contain tasks that have their own deadlines. Otherwise, in order to keep an eye on those deadlines, you have to double-track them, and that sounds terrible.
The goal forces me to complete tasks gradually as a project’s deadline approaches, and measures the credit I get for that task using its estimated (instead of actual) completion time. It also keeps all of the things I still need to do here in this one place, so I don’t have to keep a separate list elsewhere.
- I exported a list of tasks from my project planner and fiddled with the export so the data would look like this:
[today’s date] [estimated time required (hrs)] “[task description]”
Then, I created a custom graph with a starting value that’s the sum of the estimated time for all of the tasks combined (plus a bit of a buffer) and an end value of 0 at the deadline.
(Custom settings: good side=under; road direction=down)
Then I imported all of those tasks into the graph as datapoints.
(It makes your Beeminder graph very sad if you enter more than about 450-500 with the same date, so don’t.)
When a task is completed, delete the datapoint for the task. It disappears, dropping the total and helping to keep it below the ever-decreasing road.
(Alternatively: You can change the date to the date of completion, change the datapoint value to 0, and add “DONE” to the beginning of the description/comment, which leaves you with an exportable record of when tasks got completed, but makes it marginally more complicated to find tasks that still need completing.)
I can see how many estimated hours are left before the project is completed by checking the total in the Statistics tab. I can also know when I can expect the project to be completely done, how many hours I need to work on it per day/week to get there, and the date of the next time I need to do something on the project (+ how long I’ll need to put in on that day) to stay under my road and on schedule.
Why on earth would I go about this this way?
Tracking only the # of tasks means that I get the same credit for a 2-minute task as for a 6-hour task, and I don’t get a picture of how to spread out my hours on this project. (Is it backloaded with a bunch of huge tasks?) Tracking only the number of hours worked allows me to do busy-work or to work way too long on something easy and keep getting credit for it while other tasks get older and older.
This forces me to actually get things finished as time goes by, by avoiding rewarding timed busywork, and also helps me spread out the likely effort required to complete the project more accurately. (You should definitely use project management software instead. Seriously. This is terribly convoluted, and gets worse as I come up with more ways to make it “better”.)
I’m sure there are 40-50 better ways to do this (IFTTT & Beeminder + a google spreadsheet comes to mind first), but this is my API-less, integration-less way. Also, I’ve only just come up with this idea and have yet to face an Eep day on it or actually be forced to act, so let’s see how this actually holds up over time.