Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is writing specifications for hobby projects the only way for them to be finished?

I don't think writing specs is the solution to your problem. Clearly, your "hobby projects" are things that you find fun. You write the fun parts but then avoid the not fun parts that would be necessary to complete something.

If you're just "programming for fun" then good, you're succeeding. I don't think writing specs is fun.

If you really want to "finish" something, the best way isn't to write a spec, it's to not jump to another project when the fun factor dips.


It is all about 'Self project management' ... even for fun.

I feel for you ... I used to have many repos that tended to all get stuck at around revision 200 or so.

Here is what used to happen, because I didn't do enough planning, after around 200 commits, things get messy and need a rewrite ... then interest disappears because it seems like too much hassle.

I learned to write my own specs for personal use

to

  1. Give me focus to get the job done, and not go off into feature creep lane
  2. Remind me what I am working towards
  3. To have great ideas before I get coding
  4. Keep thing more fun for a longer time

For me, writing my own specs is vital to getting anything done!

You wouldn't start a business without a plan would you?

For personal projects I have tons of moleskine books filled with rough specs and ideas. When they mature, they migrate from the note books into real documents and the coding begins.

BIG EDIT: On a drive for personal efficiency and, to get projects finished. I read "Getting Things Done" ... Despite all the hippy crap about 'psyche' and various levels of mind (which im sure is not based in any science) the tips are very good.


I don't get too complicated, but listing out all of the features and requirements that you want included in your application really does help. As with most hobby projects you often don't just sit down and code them straight through for 2 months and finish them. It's an hour here, two hours there, etc. Basically it's very common to forget what you were working on last and what the original purpose of this super great idea for an application was.

If you spend a few hours writing down specs and requirements it will be very valuable to you 6 months down the road when you get some free time or your ADD switches to that project and you try to remember what it is this was suppose to do.


I just found out recently that writing specs is really the thing I need to get my projects done.

I've been a bit like you, tons of projects, jumping from one to the other and never getting things finished. Until about 6 months ago, when I started to actually write specs and have a kind of roadmap for my projects.

All that I can say is that, it actually works, because you break your projects into smaller steps, just like a race with checkpoints, and when you start to mark the checkpoints as done, it feels good, addictive and your focus will be on the finish line.

This way, you get to keep only 1 or 2 projects at the same time, but actually finish them. And of course, you have the extra and pretty valuable bonus of keeping up with the project even if you don't touch it for about a month or more. The specs will always be there to remind you of the goals and purposes of your project.

This is just my personal experience, and I believe that you should give it a try. Hopefully it will workout for you too.


I've been able to do some hobby projects and finish some of them. I try to finish them all but some i just cant muster.

The reason i think is that the amount of details that are needed to finish a projects are so many that it goes from a passion project to a chore of a project.

What helped me finish most of mine is that they stayed a passion until the finishing touches were left. So i just plowed through them.

Will a spec help, to some degree yes. They get you further into the project but almost always there's a point where the passion fades and you look for the next shiny object.


It doesn't work for me! Infact whenever I'm writing up specs I'm generally making the projects even bigger, and less likely to be finished.

Sometimes the best way to do it is to just do it.

Ze Frank explains this much better than me: http://www.zefrank.com/theshow/archives/2006/07/071106.html (video link with swearing)

EDIT: Just to add. If you are finding you want to leave your half-finished project for a new, grand idea... do it! Don't look back!

Completion is not a requirement for your own pet projects. Nobody will blame you for not finishing stuff that barely anyone else would even bother starting.

The reason you started was because of passion. That is very important. You should not force yourself to 'slog through' in your free time. You will drain your passion which is your most vital resource.