The balance of software releases

At my firm, HMS Software, we were delighted to launch the latest new version of TimeControl this week.  software_dev_road_sign_300x210TimeControl 7 was released on Monday and there’s no one happier about that than I am.  I’m excited about the new release but it sparks a conversation in my firm and with people in my industry about how often should clients go between software versions.  There’s several aspects to the conversation.

What is a “new version”?

The first thing to consider is what you mean by a new version.  At HMS we have a 4-tier release model for TimeControl which is not uncommon.  We use the version numbers to distinguish different types of releases:

New Version

The first digit in a release number is a completely new version and generally means there is underlying changes in architecture.  While we may incorporate all the functionality of old releases and even improve upon them, there is certainly new functionality.  In the case of our TimeControl release this week, version 7 heralds a new wave of the pro
duct.  The last time we changed the first digit in a release was for version 6 and that was released in 2010. In this version, we’ve changed some underlying design to allow for our upcoming TimeControl Mobile app and rewritten major sections of the product including the timesheet interface itself.

Upgrade

The second digit in a release number means we’ve added new functionality and changed or enhanced existing functionality.  So version 6.10 of TimeControl which was released 9 months ago was the last New Upgrade for the product.

Update

An Update for us is shown in the third digit of the release number.  It signifies for us that we’ve kept all the major functionality but have perhaps enhanced several functions as well as corrected issues with any functionality that we’ve found issues with.  We release an Update to TimeControl every 3 months or so.  The last update for TimeControl 6.10 was 6.10.1.

Build

A Build number is found in the fourth position of the release number and is usually a hotfix or bug correction version.  In almost all cases, our builds correct issues that occur for certain clients under very specific circumstances.  The last Build for TimeControl 6.10.1 was 6.10.1.23 which was released 2 weeks ago.

Other version numbering systems

So that’s our system but there are many others and those systems are also compounded by the proliferation of software as a service.  If you are not upgrading yourself but are just subscribing to a service in the cloud, do you care as much about the actual version number?  Perhaps not.  Some publishers have taken to naming their versions after years and seasons.  Salesforce for example is currently at version “Spring 2016”.  Not hard to keep track of.  Microsoft’s office is “2016”.  Again, not hard to track.  But internally, the Microsoft system looks a lot like HMS Software’s I’m using Word 2013 as I write this at the internal version number is 15.0.4849.1000.

So that’s how versions work but how often should they be released?

For those who use TimeControl on premise, we have to consider the impact on their operations.  Unlike some publishers, we support versions for years after they were completed because a change in a corporate timesheet can have an enormous impact on so many internal systems.  Also, installing every upgrade is not a favored activity by most of our clients.  So we try to keep a steady stream of improvements but also support clients skipping numerous updates before going to a next big release.  If past experience is any guide, we’ll probably be spending a bunch of time at HMS in the coming months, helping clients upgrade from 6.0 to 7.0, skipping all the releases in between.

For our clients who subscribe to TimeControl Online, our in-the-cloud timesheet service where we’ll be updating them in early October, we will want to give them as much notice as possible so they can prepare their personnel for the updates.  We also will make sure that as we upgrade the old service that all the client data migrates seamlessly and that old settings are transformed into new settings to minimize the impact for the majority of each client’s users.

Software updating is a balance, keeping our clients competitive by keeping them up to date with the latest technology yet supporting existing and working critical systems and processes without interruption.  We think about this balance more on weeks like this when we’re releasing a major new piece of technology.

If you’d like to find out more about the TimeControl 7 release, you can see the Press Release  or see What’s New with TimeControl 7.