IXIF Ltd CTO and Managing Director Mark Gillett muses on issues in Best Practice for Application Management, Service Management and ICT Infrastructure Management and their pragmatic application and benefits in the delivery of real-world business services.

Saturday, March 11, 2006

Release Management Woes

Somewhere in the world, someone has the perfect testing process. The nirvana of Application and Release Management where bug free software and ultimately a bug free final system is shipped to the marketplace.

So after my somewhat improbable dream, I am brought abruptly back to the reality of this week. As the Chief Technology Officer for a software company I spend much of my life with the work of prioritising bugs (issues), dealing with users discovering undocumented features, some of which might be issues and dealing with the wonders of release planning and scheduling.

So why have I been thinking about Release Management, you might ask? At IXIF we specialise in working to assist clients with the Service Level Management, Availability Management, Capacity Management and Operations Management of their ICT environments. In the past few weeks I have been working with a number of clients many of whom who have had some real, and present problems caused by either their own or suppliers Release Management processes. Too often IT professionals see Release Management as an overhead that is preventing them from shipping product, releasing patches or replacing faulty or out of date equipment quickly. I often hear that the 'process' is delaying staff in 'helping' users, but consider the following problems that all too frequently arise.

  • Maintenance of a large number of branches and forks in a software project code base without good merge and integration processes between the forks can quickly result in the same errors occurring in multiple instances of the code, a reduction in the quality of the product delivered to clients and increased lifecycle costs for the project as a whole.


  • A lack of communication between the testing/qa teams for forked releases can easily result in identical errors going uncorrected in multiple branches of the code. A lack of proper integration and regression can result in lessons leaned and perhaps issues discovered by one client not being reflected for the benefit of others who are in other branches.


  • A lack of a 'living' regression test script, constantly updated, so that errors identified in previous versions of a product are not used to generate new test-cases (either unit tests or functional tests) that can be used to check that they do not re-occur in later builds. In fact this is a common problem and a real-world experience within a lot of corporate and public sector clients using custom software products or products with a limited release circulation.
  • Inadequate testing of software 'builds' or 'packages' by the 'client' organisation can often result in conflicts between system software or underlying libraries or perhaps errors arrising from specific devices or drivers present in the customer environment but not in the project test environment. These are as much provider 'Release Management' issues as they are supplier issues.

On a positive note, I have been heartened to be playing with VMware's latest Beta release of VMware server. I have long been a fan of virtualisation and the possibility of software teams being able to build, and test in many more environments without the need for lots of PCs running old or different versions of operating systems presents some real advantages.

The possibility of building test images and distributing them to users with VMware player installed provides the real opportunity of involving more staff and users in the testing process with minimal disruption to their use of existing production systems. Think of the advantages for being able to send out the email message:

Dear All,
A virtual machine with the next version of our software is available. Please take a few minutes to test the functions that you use regularly and provide feedback to the release project team as soon as possible. A copy of the standard and regression test scripts is available in the release documentation library for those who have time to undertake further testing. ~ Release Management

Whether we are responsible for a new corporate desktop, a packaged release of a mainstream application or a branched, customer specific release of a specialist product for a particular vertical industry, as ICT professionals we have an obligation to ensure that we follow a well considered Release Management process.

Technorati Tags: , , ,