AUCKLAND, 15 JULY 2008 - Far too many times we have had projects come across our desks in what can only be described as in a derelict state. Often we see situations where vendors of custom software solutions are no longer able to support the application they've built, and their clients, who are now our clients, are often left with precious little original code and documentation to be able to maintain their solution.
For many organizations, custom software represents a huge capital cost and, yet, from our observations, it is often an area suffering from an extreme case of deferred maintenance.
Your software system is likely to be made up of a number of different components. Some of these may be custom developed for you. Some may be third party libraries. Other components might include off-the-shelf applications and operating systems from vendors both large and small.
It is very important that you have a good understanding of the specific landscape of your system. What are all the components that make up your application? Where have they come from? Do you own the source code? Does your custom software developer own the licence to the source code? Who owns the licence to any other third party tools?
Here are some ideas for ensuring that you're not left holding a can of dated spaghetti code.
Look for a licence with source code wherever possible. Ideally, when you have software developed for your specific needs, it should come with a copy of the source code as well as the binary. In some situations, this may need to be handled with an escrow agreement. Don't forget that you need to keep your copy of the source code up-to-date. If the application is being maintained by a third party, then you should ensure that you receive regular updates of the source code. One approach that we like is to actually take a back-up copy of the version control system that is storing the code. If your vendor is not using a source control system, we recommend you find another vendor immediately.
Escrow source code for off-the-shelf products from small vendors. If you are using commercial off-the-shelf software (COTS) from a small vendor, you should ensure that they have placed the source code to their application with a reputable and reliable escrow provider. One provider that we have used in the past is Standby Computing, of Dunedin. Once again, ensuring that the escrowed source is kept up to date is very important.
Ensure that you hold a licence to and a copy of any third-party controls or libraries
If your vendor has chosen to use third-party libraries or controls, then it will obviously have licences of its own. In addition to this, you should mandate that, along with the source code, the vendor provides a licence and copy of each control or library used.
Sign up for Computerworld eNewsletters.