Software versioning – What is Build Versioning?



Version:  It is a set of code to which major/minor or a Patch of changes is made. Hence we say a build is released to the QA team for testing. Version is normally the Proper number given for the final package after fixing all issues. Normally in most Cases both numbers, version & build are given in order to release a product.

For example, if you see MSN Messenger About box the version
number is given as:

Skype Version:

Now if you check the Version number there are 4 different head for this release. Starting from left 3.8.0 is the main version number, and .139 is the Build number which is linked with Version number.

Build:  It is a set of code in executables to which changes are made which is mile stone, Release candidate or general availability based. Build is a complete setup package which is developed

For Internal use, mostly for QA Purposes, if there are issues then they are fixed and new Build number is given to package.

The resource version number is a structure of two double word values, the Most Significant Value (MSV) and the Least Significant Value (LSV). Each value is broken into two parts, the high word and the low word. In a resource script, this is represented by something like “FILEVERSION 1,0,0,1” or “PRODUCTVERSION 1,0,0,1”.   The “1,0” is the high word/low word of the MSV. The “0,1” is the high word/low word of the LSV. There is also a string representation of the versions in the StringFileInfo block.

Version Number to the Build will be Application Packaging team or the Team in charge of Releasing in most of the situations; sometimes it was also done by the Development Team.

Version number is incremented by one number for each and every release. At the start of the application goes to testing it will start with the version number 1.0. For each and every release, it will be incremented by one.
This is done in the SDLC which follows iterative method. The increment is to indicate that the scheduled changes are done to the system in one version and it is tested, and simultaneously the changes are done to the system in the forthcoming builds and subsequently tested.

The version is not necessarily to be incremented by one number, sometimes it is also incremented in the points, this will happen in the case of Defects found in the current build or testing activity abandoned due to application not stable.

Version number is one of the important things in build release as it keeps track of all changes in the code.

Once the Dev team develops a build, this is sent to the configuration management team. They maintain a document, of version, the change, module, release details etc. This detail of build is stored in server and viewable by all. So that whenever there is a issue, it is enough if we have a look at the history and pull out that particular version and deliver.

Why do we need?
•    To revert back to old working condition Executables
•    To Maintain the Bug fixes and Enhancement Record with particular label
•    To Keep Track of major/minor or a Patch of changes is made.
•    To have the Process of Achieving Milestone Achieved
•    To have Better Transition between QA, Dev and Release Team
•    To Make the  Build and release process Smooth with milestone achieved.

Rajesh Kumar
Follow me
Notify of
Inline Feedbacks
View all comments
Would love your thoughts, please comment.x