A colleague pointed out recently that we are back in System Maintenance mode; a lot of systems are being patched and upgraded instead of being replaced. Not everyone is in this mode; there is still a replacement and upgrade occurring but others are hoping that their existing systems along with a little tender loving system maintenance will last them awhile longer.

Some of this reluctance to invest is driven by budget concerns; there is a general unwillingness to spend substantial funds if the business direction is not clear or certain. There is no point in embarking on a large expenditure if there may be a large change in the business need.

Some of this reluctance is driven by an uncertainty of what technology can or will provide in the near future. Systems that were built a few years ago may be outdated but with a little judicious tweaking they will accommodate connections to the new technology and allow the organisation to get partial benefit while still utlising their existing investment in technology.

A substantial amount of this is driven by a lack of knowledge of the existing systems; how they work and what they actually do. It is very hard to embark on a major system replacement when no one knows how the existing systems work and what they do. There is a fear of losing functionality on which the company depends for basic business activity.

And lastly, there is strong component of corporate memory which recalls how badly it went last time a mass IT upgrade was attempted. Nothing stops a new initiative faster than someone saying “The last time we tried this, it went x% over budget, y% over schedule and we ended up with less than we had before.”

Quality Assurance can alleviate all these problems. QA is not just testing; it is process improvement, rationalisation, and organisation.

QA techniques can save on the budget and ensure that it is monitored and controlled.
QA can determine how the design fits with future trend and add the proper consideration of emerging trends at the correct points in the SDLC.
QA can provide techniques for determining the activity of existing systems.
QA can utilise past experiences to improve future outcomes.