Iterative Development and my Blog Software

When I started this blog, it was my intention to get the software to a point of stasis then put a freeze on any new features in favor of completely rewriting the entire thing and releasing it all at once. It took me so long to get to the point where it was released that I've since changed my mind. At my full-time gig, Dealerskins, we've gotten into the mindset of small, incremental, release cycles for our products.

So rather than working on something for 3 months, getting all of the bugs worked out, and adding all the features that one could ever want, we gather the core list of features that absolutely MUST be in the first release and we write those. In some cases those initial features aren't even the final versions of themselves. They're merely a stepping point to something further down the road. While I'm sure the concept of iterative development has been around software development for a long time, hell...or any product development for that matter, it was made famous by 37 Signals, developers of Basecamp and numerous other internet applications. It's even been codified in their book "Getting Real" which can be read for free on their website.

So, how does that affect this blog? It means that rather than "finish" the blog and release it, I'll be adding new features, and rewriting old features little by little until I've got something I'm comfortable with releasing to the public. It'll be rough around the edges at first, but if done right, I'll be able to release PIECES of it instead of the whole thing. That way, if something changes in the code, I'll only need to release the parts which have been changed. For me this means that releases will be a much simpler task and for you it means that updating will also be simpler.