New release, and idiotic version numbers

Posted by Gavin Bowman on Friday, February 08, 2008 at 12:51 PM

That little pang of jealousy over Andrey's release yesterday must have provided the extra momentum I needed, because I finally finished uploading and releasing the first Oriador Staff Rota update of 2008. There are full release details on our software release blog.

Long time readers here might remember that I used to contribute to Codesnipers, and that one of my more popular entries there was a series on Micro ISV Mistakes. I'd like to revive the spirit of that series for a moment to discuss idiotic version numbering.

The latest Oriador release is version 1.5. Taken on it's own, that's fine, but go ahead and take a quick look at the release history. That's right, we released version 1.0 on 4th July 2004... coming up for 4 years ago. And only a handful of the 40+ releases since then were just fixes, they almost all added extra functionality.

We all know that a certain type of person will dismiss anything with a 1.x tag, so I'm not going into that, but here are a few other reasons why being overly conservative with your version numbering is a bad idea:-
  • #1: Money! We haven't billed for an upgrade in close to 4 years. I usually don't like to sound too heartless and materialistic, but that's just silly. If I'd known for sure we weren't going to have major releases every 18 months or so, I should have ran a maintenance/support contract system, or charged a subscription.

  • It's harder to be brave or ruthless. Whenever I've had a feature I wanted to add or cut (maybe I didn't think it was getting used, or it might have been restricting things in another area), it was much harder to make a firm decision in a point release. I always tried to preserve the status quo for the existing users, or at least find a way to support them through an option. This sometimes left great new features hidden or over-complicated option screens.

  • Expectation. Now the product has already evolved so far from version 1.0, I've felt like version 2.0 needs to be a major generational jump over the current version. In my mind I've set a precedent for the amount of extra functionality that can go into minor releases, so the bar for a major release is way too high.
I'm getting over it, I managed to resist the urge to call the latest update version 1.4.6, so I guess that's progress.

If you have a product that's been sitting at version 0.x.x.x for a while, it's probably time to set yourself an acheivable 1.0 target. And if you ever find yourself releasing a minor update with major functionality changes, I hope you'll think of me :).

Tag:

3 Comments:

Blogger Andy Brice said...

Upgrade revenue gets more important as time goes on (or should do).

I was weak and put the last version (with 50 new features and improvements) out as v3.1. But the next one will be v4 for sure!

11:26 PM  
Anonymous Alex said...

Yeah, we feel exactly the same way about our version hnumbers... Our Macro Recorder could have been "4.x" a thousand times now, but it's still "3.86" :( Thanks for the kick. You're 100% right

7:55 AM  
Blogger Gavin Bowman said...

At least at 3.86 you should run out of 3.x numbers soon enough :).

9:59 AM  

Post a Comment

Links to this post:

Create a Link

<< Home