views:

187

answers:

5

I enjoy programming, usually. Tedious stuff is easy to get done as quickly and correctly as possible so I can get through it and not have to see it again.

But a lot of my coding is fun and when I get in the 'zone' I just really enjoy myself.

Which is where I make the mistake of spending too much time, perhaps adding features, perhaps writing it in a cool or elegant manner, or just doing neat prototypes.

  • How do you recognize this is happening before it exceeds your time frame?
  • What do you do before starting a potentially fun piece of code, or during, to get back on track?
  • When is it ok to let yourself go "hog wild" and just enjoy it without worrying about consequences?
+5  A: 

Keep a detailed prioritized feature list/bug list. review it often then balance the fun work with bugs/features that need to get done.

simon
+2  A: 

With a backlog. That way you'll always have in mind what needs to be done before you can start doing what you want to do.

Esteban Araya
+4  A: 

Give yourself a hard deadline--even for your own projects. Otherwise, you'll just keep tweaking and adding features ad infinitum.

+3  A: 

Always have a working release (snapshot) ready. Treat it like the way SQL server implement snapshot isolation. :)

Continue adding new cool stuffs to a separate copy of the project. Once it is stable, overwrite your release folder and that is your new snapshot. Whenever somebody ask for a demo or release, that way you can always switch to the stable application and will have something to show anytime.

Gulzar
+1  A: 

Justify any "fun" features you insert by regarding them as marketable eye-candy.

Unless, of course, they're not visible ;)

moobaa
But all the _really_ cool stuff isn't visible! Well, mostly. I loves me some algorithms! OM NOM NOM NOM NOM...
Adam Davis