Recently I came across different discussions regarding keep on maintaining applications, life-cycle extension of applications, replacement of applications, service-enablement of applications, re-factoring and replatforming of applications, etc.

The trigger for these kind of discussions is most of the time a request from the business for new features, quick fixes and an increasing complexity of the application landscape and also growing cost, duration and therefore aversion of doing it. The business doesn’t want to pay for it, they just want to have their requested features implemented and fast!

Everyone in the company seems to know that the costs are increasing and flexibility is decreasing but no one wants to be the first that takes the cost of solving this problem. Thinking about this dillema the solutions seems to be in front of our eyes.

What are you doing when you have bought a new Car? Sure, you drive in it 🙂 but also put some money aside for fuel, insurance and maintenance but the real clever ones they put also money aside to be able to replace the car in 3 – 5 years (just before it will cost them a lot of money). They know that the Car become less worth so they write-off an amount per year but in the same time put this money aside to buy this new thumb

In the IT-industry we capatilize our investment in Development, Testing and of course IT-Infrastructure and write it of in 3 to 5 years. But who is making the reservations that are needed to replace the application before it becomes Legacy that cost a lot of money and reduces flexibility of the business.

And what about us who doesn’t have enough money to buy a new Car? They buy a good second hand car like on of my employees (Daewoo Nexia) and accept that it maybe does not fit to all their wishes but it at least serves their goal.

Should Custom Developed Software be put on the Balance and should we not take reservations for it to replace?