Header Code

Software Versioning and Release Numbers 06Jul, 2012

Whenever you look at the About dialog or readme file of a software, it generally has the information about the software – It’s Name, Company’s Name and among other things, a peculiar 4 decimal Version number. Ever wondered, why softwares generally have a 4 decimal identification number in their About dialogs. What do these 4 decimal digits signify? Lets have a look, closely.

Generally, the Version number is a 4 decimal number something like 7.0.234.675. These numbers signify :

1. Major
2. Minor
3. Build and
4. Revision

number of the software. Lets explore these individually.

1. Major: The first part of the 4 decimal number of the version, represents the number of Major releases a sofware has gone through. The first ever release of any software to the world will have the Major number 1 (no candies for guessing). This will only be incremented in case of a Major overhaul to the product like:

i) total change in the architecture (probably to support newer technology/standards etc.)
ii) addition of a major functionality (may be addition of newer and better APIs, deprecation of several functions, addition of newer Maps/Graphs etc.)
iii) changes to the Use Cases/Business flows or major revamp in the UI
iv) and probably resolution of a hundred thousand bugs.

Major number is generally incremented in case of either one or more of the above points.

2. Minor: The second part of the version number represents the minor release of the software which generally occurs in cases of:

i) Release of a service pack (To err is software). Like Humans, no software is perfect. In case of a major glitch, or to support a specific functionality, sometimes software companies release an add on to the existing software. This add on is generally installed/deployed as a part or on top of the existing software and does not affect any existing functionality of the software.

Thera are very few cases, where you’ll see such a service pack released for a software and thus, majority of the softwares will have their Minor number as 0.

3. Build: The third decimal place signifies the number of iterations used in the SDLC to reach the point where software is currently in. A good software team always follow one of the SDLC methodologies like Waterfall, Spiral or most likely Agile to divide the work and finish the modules in iterations. Whenever one iteration is completed and released for User Acceptance or QA, the third decimal place is incremented.

4. Revision: The fourth decimal place tells the number of revisions for the Build Numbers. No Software development team is perfect enough to have their build accepted in the very first attempt. Each build will have a set of bugs and those bugs will be resolved and the build will be released again and so forth. Consider a team releasing the revisions of a build every night, the revision number will be incremented each night.

Although, Vastly followed, this versioning system is not a de facto standard that is followed by every single company in the universe. Some companies opt to use just Major and Minor numbers or sometimes Major, Minor and Build. Some companies may have a totally different way to uniquely identify their software versions like using the year of software release as the version number.

So, I hope we have been able to understand the versioning system in detail and next time we see at those four decimal numbers, we’ll understand how much time and effort has undergone in shaping that product.

Posted by: Amritpal Singh / In: Version Control
Cam

One thought on “Software Versioning and Release Numbers”

Comments are closed.