This post is a part of How To Ship Maintainable Product series
Software version management is often a forgotten part of the maintenance plan. Usually, after the main task - an in-production working platform - is achieved, the development team loses focus. Unfortunately, this behaviour may lead to misunderstandings and confusion in future.
Introducing Agile software development practices ultimately leads to producing new product version every sprint. Keeping the track of corresponding and compatible modules are critical.
The version management issue is especially important in the on-premises software model. Customers do not constantly update their software version to the most recent one. SaaS model is not that much affected, but sometimes maybe tricky too.
In order to keep control of different versions of the software we should know:
- What is the software version deployed on a target machine
- What third-party components are supported by that version
- What is the underlying source code snapshot from which that version was build
It's a good practice to include the above information in release notes.