I'm currently working on a secret project. Well... it's actually just a cool tool I plan to make available on AngryPets.com in the .NET TOOLS section. The problem is that the tool is based around a VERY cool idea... but as I'm writingcode to implement this great idea, I keep getting more ideas on how to make the implementation even better. There's a word for that 'constant-lightbulb in the head' while you're coding: feature-creep.
For a while the feature-creep was getting so bad that the more I worked.. the less working code I seemed to have. I'd tweak this and tweak that to accomodate the latest-greatest idea, until I actually had less functioning code than when I started. Finally a great idea hit me: just release all the 'creep' a few features at a time (I know.. big deal, why didn't I think of that sooner). So within a few minutes I was able to spec out a few 'dot-releases' up to build 1.0. Then for the fun part: in VS.NET I went into the Tools > Options > Environment[Node] > Task List section and created a couple of new task types: SS.3 and SS.4 for example.
This isn't anything huge, but now when I'm coding along and I find a great idea comes to mind, i just think about which build/release of the project the new feature should go into and then I just code the feature creep up in a quick comment starting with // SS.# ... that way I can keep on task and release the initial build in a more timely manner. Then, when I'm ready to come back and look at the next dot-release, I can get a quick summary of what I need to do by going to my task listing and filtering as needed. Even more, I can just hop from section to section and implement as needed.
Comments