Software Best Practices

Voices on Software Development Best Practices
Welcome to Software Best Practices Sign in | Join | Help
in Search

How can I tell when an application is near the end of its life?

Last post 01-31-2008 4:52 AM by dhallett. 3 replies.
Page 1 of 1 (4 items)
Sort Posts: Previous Next
  • 01-22-2008 12:31 PM

    How can I tell when an application is near the end of its life?

    Hi everyone,

    I've been looking for opinions or empirically derived 'truths' about how to tell when a software application is nearing retirement age (or well past it!) The only thing I found was a SAM page on TechNet with basic truisms, such as 'when your maintenance costs too much'. (An over-simplification of what they say there, but you see what I mean.)

    My company has a number of huge, aging systems, which are integral to most of our business functions. The cost to replace all of them would probably be prohibitive. But there's genuine interest in replacing some of them. The question our business colleagues ask us in IT is, essentially, 'What does it look like when I have a system that's too old and should be replaced?'

    I think that is a most excellent question. Do any of you have references you could point me to? Or knowledge you would be willing to share? Even heuristics are good as a starting place.

    Many thanks.

    Debby

     

     

  • 01-25-2008 12:16 PM In reply to

    Re: How can I tell when an application is near the end of its life?

    Hi Debby,

    I asked around Construx for some ideas for you. Matt Peloquin replied with

    Not what they're hoping for but I'd replace:
    'when your maintenance costs too much'
    With
    'when your maintenance costs more than building a new system to produce equivalent value'
    This is such an economics based question that it has to be answered by an analysis of cost of development vs. value in old vs. new system. Any rule of thumb heuristic not based in such an analysis seems glib to me.

    Steve Tockey replied with

    That's kinda where I was going with the "there's more to this", things that need to be considered in a true business case analysis would include:
        How much is being spent now on maintaining the existing system (and future projections of same)
        Cost of lost business flexibility because new functionality can't be added (...quickly enough)
        Cost to redevelop the existing system
        Expected reduction in maintenance cost following redevelopment
        Business value of increased flexibility because new system is more maintainable

    He also suggested that you look to his book Return on Software for was to calculate those decisions.

    Enjoy,
    Earl
    Filed under:
  • 01-27-2008 2:12 PM In reply to

    Re: How can I tell when an application is near the end of its life?

    Interesting question and there is a simple answer - when it costs you more to carry on using it than to replace it. How you work that out is much, much harder though.

    I'd be more included to look for the warning flags or symptoms first though:

    • Your not adding any features to it but are paying more and more to maintain the system status quo.
    • It has become near impossible to refactor the code (signs of an application that has had lots of features added with little thought to future maintenance or architectural concerns).
    • You have trouble hiring people that have the skills to maintain the system - (although it would need to be pretty old for this to be a problem!).
    • Your users are calling out to move to a new application because they think it will improve their productivity. 
  • 01-31-2008 4:52 AM In reply to

    Re: How can I tell when an application is near the end of its life?

    Thanks for these answers. As I was writing my question I looked at my bookshelf and saw Steve's book sitting there, and thought, 'I bet there's a financial algorithm for this.' 

    Matt's suggested refinement is helpful. I think the development managers can sometimes get too close to be able to take a broad, comparable view of the cost of development vs the cost of maintenance. 

    And David's input will ensure I also consider how easy it is to get qualified staff to maintain and support the systems, if the technology is old and the language archane. If we aren't adding new features, it's arguable that the system isn't providing enough business value. Certainly the innovation aspect and competetive edge would be missing (which is an irrelevant consideration unless you disagree with Nicholas Carr, in Does IT Matter?,  when he says that IT doesn't provide a competetive edge anymore -- another topic, isn't it?). 

    Thanks to all. Time to go read more of Return on Software.  

    Debby  

     

     

Page 1 of 1 (4 items)
Seminars           www.Construx.com           Consulting