A Computer Simulation of Creative Work, or 'How To Get Nothing Done'
Every year is getting shorter, never seem to find the time
Plans that either come to naught or half a page of scribbled lines
According to the available data, I'm a hard-working and creative person. Yet my productive output tends to hover just above nil. My feelings are generally in line with Roger Water's lyric, quoted above. Why? What causes the gap between work and productivity? But more importantly: can a computer simulation shed light on the underlying problem?
Here's how the model works:
Every bus trip I work and work and work, always on what is the most pertinent task for the project I am working on.
But as I work, I sometimes think of new projects. I immediately (and at no cost) add those projects to my backlog, then continue with my current task.
As soon as I finish a task, I look over my set of all next actions and choose whichever one feels most interesting at that point in time (modelled as a random selection)
You can play with this simulation yourself:
The parameters are configurable. By default each project contains 10 tasks (these are mini-projects really). And each time I do a task there is a 25% chance I'll think of a new project.
The results of the simulation are woeful!
Here's an example:
After a year of bus trips, I've done enough hard work that I could've completed 20 projects. Instead I've only finished only 2 (emphasized by the green arrow). Re-running it, I sometimes complete as many as 3 or as little as 0. Meanwhile my backlog of work is big enough to keep me busy for years to come.
As simplistic as the model is, it already makes me feel uncomfortable with its home truths. I know this feeling all too well. Hard work, but it's like spinning your wheels while stuck in mud. I know that my time is spent always on tasks I consider worthwhile, yet I'm still getting nothing done.
Here's the shocking thing. This low productivity is not caused by all the usual culprits we list when discussing 'procrastination'. This isn't because of low motivation or excessive distraction. This isn't because of fear (the alleged mind killer) -- it's not fear of shipping, fear of criticism, fear of success, or any other paralysing phobia.
Getting 'Things' Done versus Getting 'Projects' Done
This is the difference between utilization and productivity. High utilization can be just busy work.
This is purely organisational pathology, and 100% curable.
The immediate question is what to do about it. Now the modelling becomes fun.
If I can decrease my ability to think of new projects, down to around 10 percent (approximately 1 new project idea for 10 tasks done), then I manage to ship more projects.
At the end of the year I've now completed between 8 and 20 projects. Yay. But now a new problem arises: I frequently run out of work to do. Many bus trips I just sit there, twiddling my thumbs, staring out the window. For me, that's a terrifying prospect, a sort of waking death. But in any case, I think it's outside my control. This continual thinking up of new projects (albeit stupid STUPID projects) is just a fact of life. You might as well ask a cat to stop following a laser pointer.
The trick instead is to come up with a new strategy for picking tasks. When I finish one task and it's time to move onto another, I need to be far more careful about which task I work on next.
So I implemented a strategy called 'stick to a project'. In this strategy, I keep working on my current project until that project is done. The results are much more satisfying. I still end up with a giant backlog of work -- but the amount of projects that I've shipped is now exactly in line with the effort I've put in.
That's all I needed to get out of the model -- and at this point I can stop modelling and return to doing.
But it's also just the tip of what the model shows you. Different people have different fears and different desires. Depending on your personal preferences different results are optimal. You might be driven by any of these:
- Fear of drowning in work (minimize backlog)
- Fear of running out of work (maximize backlog)
- Love of a big backlog (maximize backlog)
- Hate working on the same thing all the time (continual switching)
- Fear of negative feedback after releasing work (minimize project completion)
- Desire to release work constantly (maximize project completion)
Play with the numbers, you'll see how to get what you want. Or copy the code and change the model to reflect your own behaviour.
That link again:
Models are not reality
In practice, things get a lot messier. Projects have variable sizes. Projects grow as you work on them. Some projects *should* be abandoned, not stuck to. (If a job's not worth doing, it's not worth doing properly).
The model is very simple but it was complex enough to demonstrate something useful to me, so I'm happy to publish this as is.
Now I must get back to the gormless and unstoppable implementation of whatever addle-brained scheme has floated to the top of my steaming heap of incomplete mini-projects. Wish me well.Next → ← Previous
I'm currently writing a book about how to build your first product. If building a product is something you'd like to do, then sign up to be notified when the book is available.