Break it down…
For some reason when I work on personal software projects I always start on big ambitious 0nes and never small realistic ones. I get this idea and I get ambitious and work every second I have to spare on it and then burn out and get tired of it and leave it, and all this within a really short timespan.
Most ideas I get have to do with a small concept or technique I want to try out but it seems that I can’t make sense of them unless I put it in a bigger picture. Many of my friends seem to be able to just try out something or build something just for the heck of it but I can’t seem to do that; seriously starting to wonder if there is anything wrong with me hehe 🙂 Sure I’ve written small code snippets to test something but that is different; the concept or technique I’m referring to is a lot bigger then small code snippets.
As soon as I have an idea I have to put it in a bigger picture. All of my projects have been like that and they end up half (more often much less then half) done. I complete the project up until the end where the concept or idea I want to try out is done or a conclusion has reached, proven successful or otherwise, nevertheless, a conclusion.
The project before the one I am currently working on the exact same thing happened, I had a great idea and I started implementing it. As all other projects before it I burnt out and left it after a week of intense hacking, exactly where I leave the other projects; after I reach a conclusion.
The current project I’m working with however became different. When I was to start it I first hesitated and asked myself if this would be yet another boom-bam-thank-you-mam project, so I decided to use a different approach. When reading my favourite news site once (reddit) I came across a user comment (what he was commenting about, I don’t recall) which had a great idea about how to organise projects like the ones I wanted to complete.
I realised that the core problem was not that I didn’t want to complete the project or that I was too lazy, no the real problem was that I didn’t always have hours or even one hour to spend on it. This caused me to shrug every time I thought about continuing the project, I saw this big black hole in front of me consuming all my time when I have so much other stuff to do, even if the project was really really interesting, I simply didn’t have the time!
Realising this was a big break through, now I only had to do what the person in that comment suggest to be done, namely: break down all the activities in 10-15 minute tasks or similar (can’t remember the exact minutes he mentioned but that’s beside the point). I set of to plan the project like I always do and as things started getting closer to actually starting to implement the thing I started making up small tasks in my head about what needed to be done. Every time I wanted to work on the project I now knew that it wouldn’t take more then a short moment of my time to move it forward somewhat.
A task can be anything, and it can be really small… I have realised that there is no task that can’t be broken down, sometimes it can even be to read a section of documentation just to know what to do next and in some cases I have broken down the task of reading one section into two tasks; read the first and the second part. I will try to find the comment on reddit (it was a long time ago) but this has seriously allowed me to push my projects forward even thought I don’t have very much time to spare.
This is also the way I’m writing this blog 🙂