Jorgensen.org.uk

... trying to make sense of reality. And discovering absurdity.

  • Increase font size
  • Default font size
  • Decrease font size

The Importance of Release Tagging

E-mail Print PDF

Many IT departments are sensible enough to use Version Control tools (e.g. CVS or Subversion) to manage their software. For example each application is declared to be its own "project", and releases are done from there.

This tends to work well. At least for organisations where:

  • there is no separate testing environment
  • and each project has a small number (e.g. 3) of developers

Once the number of developers increase, or the demand for a separate testing environment raises its head, releases tend to go wrong.

Imagine this scenario:
  • Application X is live. It is being used by real users and earning real money.
  • The developers believe they have fixed some bugs and committed their changes in the version control system
  • The updates are installed in the testing environment.In effect, the testing environment contains a newer version of application X
  • During testing, it turns out that one of the bug fixes have introduced a serious new bug. Everybody applauds the good testing which prevented this bug from reachng the live environment.
  • A serious bug is discovered in the live environment. Money is being lost and it needs fixing right away.

What to do?

  • The application version in the test environment has a serious bug, so releasing that is not an option.
  • Fixing the bug in the "trunk" implies releasing the code that was deemed "bad" in testing.
  • Releasing just a single file to the live environment may be an option, but that means that somebody needs to track every single file.

The problem here is that the organisation was not prepared. If the live version has been "tagged" in the version control system. Then it would be a simple case of checking out the sources that correspond to "live", making the fix and releasing that (everything, not just changes) into the testing environment (and tagging it as you go along), where it can be tested properly.

Unfortunately, "tagging" requires foresight. And many development shops believe that such foresight is simply too expensive. Even though tagging will take mere seconds, and sorting out the mess afterwards can cost real money.

Go figure.

 

 

Last Updated ( Monday, 29 September 2008 08:53 )