Legacy projects - upgrade or replace?

Written by Olivér Haszpra

Why upgrade, why not replace?

Like it or not, it's not as easy to replace an old system as you might think, because:

  • You don't know the specification
  • Probably there's no specification
  • The live system must be maintained during the new one's development phase
  • So you can't assign your existing team to the new project

Can't I replace?

Yes, you can, but there will be challenges:

  • You'll need more workforce until the old system is discontinued
  • You'll need a very detailed specification for what exactly your system should do and how (which is often not known by anyone in the company)

When to replace?

  • You have endless money to spend
  • You can't attract talented developers anymore with the old project
    • Developers like to play with fancy technologies
    • You want to attract talent with new technologies
  • The old system has too serious flaws to fix
  • New features would be too hard or impossible to implement in it
  • New UI/design would be too hard or impossible to implement in it

When to upgrade?

  • Flaws with the system are not that fatal
    • You still can hire good developers for it
    • Your customers / clients / employees like it
    • No bigger changes are necessary; you are generally happy with the system
  • You only need to add a small feature or bug fix occasionally and the system doesn't prevent it
  • You don't have the resources necessary to build a new system from scratch
  • You don't have and can't really get the precise specification for the old or the new system

How to upgrade, how to replace?

Read it in our next article.

Back to the posts