Since the early days of computing, software applications have been plagued with problems: unexplained crashes, intermittent slow server performance, unexpected results and numerous other surprises have caused major heartache for both the people involved in developing the applications and the people using them.
Although software development has undergone dramatic changes, moving from centralised computing to highly distributed, service-oriented architectures, the processes of problem resolution and application support have hardly changed to accommodate the added complexity and costs.
These processes are still mostly manual, engaging multiple departments and requiring problems to be recreated time and again in a lab environment.
Ironically, few technological breakthroughs have been made over the past 20 years to optimise the problem resolution process. It is no wonder that support and maintenance typically represent 50% of a project's total cost. And beyond the balance sheet, slow problem resolution times and poor customer service lead to loss of customers and a damaged reputation.
Client/server, web applications and web services have expanded the development landscape and have created a support nightmare.
Every business-critical application has many moving parts - business logic components, web services, application server, databases and highly complex networks that have to interoperate flawlessly. Resolving problems in such a complex environment requires a variety of skills and a great deal of time.
In many organisations, application support and problem resolution processes and tools are not up to the task. To resolve problems in production applications, an iterative process of information gathering, recreation of problem scenarios and debugging is carried out manually by many people from application development, IT operations and the helpdesk.
Research conducted by Identify Software indicated that on average 6.5 people will "touch" a problem before it is resolved. The typical trial and error process employed in many organisations is lengthy and frustrating, involving a fair degree of unconstructive finger pointing.
The research also indicated that if you break down the time spent on each stage of the problem lifecycle, fixing the problem takes only 20% of the time involved.
Pinpointing the cause, on the other hand, including the need for problem replication, represents a staggering 80% of the total downtime.
The combination of inappropriate tools and processes means that problems often take a long time to resolve, resulting in exorbitant downtime costs, dissatisfied users and loss of reputation.
The Yankee Group has estimated in a report published earlier this year that brokerage and banking organisations alone lose £3.4m every hour in lost revenue caused by system downtime.
Considering that application technologies have been evolving over the past two decades and have become the lifeblood of every enterprise, relatively few companies have examined the efficiency of the underlying application support process and the technologies used to support business-critical applications.
However, the time has come for businesses to view the whole support function, not purely as a cost-centre, but instead as a strategic asset.
Investment in this vital business function has the potential not only to dramatically improve employees' productivity, but also to lead to increased customer satisfaction.
Oren Modai is vice-president of European operations at Identify Software