Versioning (6, end of this series)




So far we have discussed what team can do to extremely simplify versioning for the modules (assembly, jar, dll, exe, binaries in general).

What about executables and web-applications, desktop applications, services and web-services?

Verioning and tracking of breaking changhes are useful for changes that affect the production environment, let's make some examples:
  • When an application requires an upgrade to the db schema to work properly, the application and the db must be versioned properly !
  • When there is an upgrade to a server application that makes changes to the client-server communication protocol, the client and servers applications must be versioned properly !
  • When a module is a external thirdy party shrink-wrapped software, its version number is required to know wich version use and install in test and production environment.

So as you can see you needs versioning for apps when there are parts that have it's own autonomous indipendent development-release cycle. And unifing these cycles would be less flexible that dealing with versioning and traking breaking changes.



This series of posts come from experiences done on the field. If you are interested in the topic you should read also the book Continuous Delivery.












Print | posted @ Thursday, August 26, 2010 3:24 PM

Comments have been closed on this topic.