Mobile apps versioning at RST-IT

App versioning is a critical component of our applications' upgrade and maintenance strategy. It’s important because users need to have specific information about the application version that is installed on their devices and the upgrade versions available for installation, and we, developers, have to be able to track bugs and associate them with a specific application build.

In our department we use version numbering scheme that consists of 3 digits:

major.minor.release

major

The most significant number which indicates a large or a very important change in the application. This number may change, for example after finishing MVP version (0 -> 1).

minor

A number that changes (up) after the end of every sprint.

release

The least significant number that changes after the release of every build in a sprint. The change may be triggered e.g. by finishing a task in JIRA and publishing the build to Fabric.

Every app starts with 0.0.1 version, which indicates that the MVP version is not finished, the first sprint has not ended yet and it’s the first build in the current sprint.

Example

  • 0.0.1 - start of the project
  • 0.0.2 - a user story was implemented and the build is on Fabric (for instance, the user is now able to sign up)
  • 0.0.3 - another user story has been completed (i. e. user is now able to sign in)
  • 0.1.1 - the first sprint has ended
  • 0.2.1 - the first user story in the second sprint has been implemented (note that the release number starts from 1 again)
  • 0.2.2 - another user story has been completed
  • 1.0.0 - MVP version of the app is ready