Legacy System Assessment: How Should You Evolve Your Legacy System?


A legacy sys­tem is one that has been in ser­vice for a sig­nif­i­cant amount of time. Because the sys­tem was de­vel­oped so long ago, some of the tech­nol­ogy it uses may now be ob­so­lete. My wife would liken legacy sys­tems to my sense of fash­ion “outdated”. This raises the ques­tion; how should you evolve your legacy sys­tem? There are four dif­fer­ent path­ways you can take;

  • you can mod­ify busi­ness prac­tice so that the legacy soft­ware is no longer needed,
  • con­tinue main­tain­ing the old sys­tem,
  • re-en­gi­neer the old sys­tem or,
  • mi­grate to a new sys­tem, such as the cloud.

In this ar­ti­cle I will put for­ward some ques­tions you should con­sider when de­cid­ing which path­way to take.

Modify busi­ness prac­tice

Easier said than done. When a busi­ness starts notic­ing that its soft­ware is get­ting in the way of its processes, usu­ally the busi­ness is do­ing well and does not want to change the re­fined process that has brought it suc­cess. There could also be ex­ter­nal fac­tors that pre­vent process change, such as cus­tomer de­mands. Would you be pre­pared to tell a cus­tomer that some­thing is­n’t pos­si­ble be­cause you had to change your processes to ac­com­mo­date your soft­ware? Neither would I!

Continue main­tain­ing the old sys­tem

Firstly, you should con­sider the cost of main­tain­ing your cur­rent sys­tem. This should­n’t be con­strued nar­rowly, you should also con­sider op­por­tu­nity costs “how much time would the busi­ness save if we mi­grated to a new sys­tem”? If this num­ber is sub­stan­tial then sim­ply main­tain­ing your cur­rent sys­tem may not be worth­while.

Conducting an en­vi­ron­ment as­sess­ment is an­other help­ful way of de­ter­min­ing whether you should con­tinue with your cur­rent sys­tem. A num­ber of fac­tors should be con­sid­ered when un­der­tak­ing an en­vi­ron­ment as­sess­ment. These in­clude (more can be found in our re­sources hub):

  • the age of the hard­ware and soft­ware,
  • it’s in­ter­op­er­abil­ity with other busi­ness sys­tems,
  • whether your legacy sys­tem sup­ports your busi­ness process model,
  • the hard­ware fail­ure rate, and,
  • the over­all per­for­mance of the sys­tem.

Once you con­sider these fac­tors you should have a good idea of whether your cur­rent sys­tem needs to evolve. If this is the case you can ei­ther re-en­gi­neer your cur­rent sys­tem or mi­grate to a new one.

Re-engineering the old sys­tem

If this ap­proach is pos­si­ble, it may give your old sys­tem a new lease on life. As an ex­am­ple, it may be pos­si­ble to mi­grate your ex­ist­ing data­base into the cloud and use mid­dle­ware as an in­te­gra­tion layer. After en­sur­ing that the ap­pli­ca­tion func­tions nor­mally with its ex­ist­ing UI, parts of the ap­pli­ca­tion can then be up­graded by cre­at­ing new end­points and data struc­tures. New func­tion­al­ity could also be cre­ated or repli­cated within a new ap­pli­ca­tion; per­haps also hosted on the cloud.

Legacy mi­gra­tion

Legacy mi­gra­tion is the process of mov­ing a legacy ap­pli­ca­tion to a con­tem­po­rary soft­ware and hard­ware in­fra­struc­ture. It has the ad­van­tage of re­duced soft­ware li­cens­ing costs, eas­ier in­te­gra­tion with other sys­tems, en­hanced ap­pli­ca­tion run­time per­for­mance and ac­cess to more pro­duc­tive de­vel­op­ment tools. It is also much speed­ier than com­pletely re-writ­ing your sys­tem as the func­tion­al­ity is al­ready fa­mil­iar. I tend to rec­om­mend legacy mi­gra­tion for com­pa­nies with legacy sys­tems. It’s the eas­i­est way to keep your busi­ness up to date with tech­nol­ogy. If you’re not mov­ing for­ward, you’ll in­evitably be left be­hind!

To see some of the do’s and don’ts of legacy sys­tem mi­gra­tion, check out this blog.

Discover Software


Matt Francis

Brewer of beers, smoker of meats

Get cu­rated con­tent on soft­ware de­vel­op­ment, straight to your in­box.

Your vi­sion,

our ex­per­tise

Book a con­sul­ta­tion