In the life as in computing, things should remain simple. When costs of ownership exceed acquisition costs, application have to be riengineered. As this statement appears to be clear, CIOs use to keep a lot of old applications in their assets.
This situation has a few causes :
- costs are usually difficult to be figured out. Years ago, Gartner designed a method to weigh the cost of a computing application called TCO (Total cost of ownership). The main difficulty comes from hidden costs which may be surprisingly high.
- If initial costs may be equally amortized, maintenance costs always change due to internal and external factors. Theory returns that maintenance costs are high when a new application is started, then decrease and increase again when applications are aging. But is it always true ?
Changes of maintenance costs result of :
- productivity improvement
- progress of tools for maintenance
- increase of salaries
- increase of application complexity due to changes
On the other hand, technology costs decrease and language progress which improve productivity in design and build of new applications, lower acquisition costs.
At last, new requirements which cannot be implemented on existing application rise costs of ownership.
If, taken globally, these factors drawn a clear picture of situation, they left locally a lot of unanswered questions.
For example, language progress has not yet overcome PACBASE efficiency which contribute to maintain such applications alive.
Costs of acquisition require as well to be contemplated carefully. Are they software and technological costs only or do they include organisational changes ? For some companies, organisational costs are very high in respect to software costs. It urges that these companies find means to lower such costs to keep their capacity of changing.
The real application life cycle, when it mixes changes and stabilisation, does not provide too much help to sort out the question. With this cycle some application are being renewed progressively. Some others are implemented progressively, then implementation costs are reported on maintenance costs. Costs are even more difficult to be figured out.
The only thing which remains thoughout the entire lifecycle is application architecture which may contribute to clarify or to blur the whole process.
It is vital for CIOs to understand and keep under control applications lifecycle because it contains some of lever arms which allow to curb IT Strategy.
First of all, implementation costs has to be distinguished from mantenance costs. Within maintenance costs, corrective maintenance costs should be identified and distinguished from evolutions costs.
Within evolution costs, evolutions costs due to regulation or law changes should be taken apart from evolutions for renewal.
Regarding evolutions for renewal, architecture extension should be carefully contemplated beside other short or straight ways. Otherwise, it may increase close down costs and consequently acquisition costs. Finally, with a global vision, we could notice that two given ways of evolution may have the same costs except that they are distributed diversely.
Having a good control on costs opens to CIOs the way to really managing their assets.
References :
Application lifecycle diagram : “Software Maintenance and Evolution: a Roadmap” K. H. Bennett V.T Rajlich