April 16, 2020

How to Manage Legacy Software: Tips from the Trenches

tips-from-the-trenches|Broken-Applications-2|tips from the trenches
Written by

Aino

One of the most common enquiries we have is from companies requiring assistance with existing legacy software applications that have become problematic.

Perhaps the legacy software system has started performing poorly, or the stability has decreased to worrying levels with bugs appearing regularly; or even that it is just not possible to develop the system at the rate required.

Having been through this process of fixing these performance issues many times, here we share some pointers on how you can address such challenges.

We understand that everyone’s challenges are different, but there are some aspects that apply to most of these situations that we have encountered – Here is our take on the most important:

  1. Approach the problem in a systematic manner.
    It may sound obvious, but it is all too easy to get sucked into a spiral of despair when stakeholders are shouting, and the business is suffering. Frequently we have encountered stressed developers struggling to keep legacy applications running, addressing the symptoms of the problems; when what really is required is to take a step back and tackle the root causes. Do the minimum to keep the wolves from the door and use the rest of your resources to tackle the root cause. If you don’t have the necessary resource, you may need to find a way to increase it, even if it is just temporary.
  2. Know your objectives
    Again, some may feel this goes without saying, but it is imperative that all parties are in agreement about not only the objectives of the legacy system itself, but how those fit in to the larger overall business-objectives. Both the legacy system and business objectives should drive any action you take, so it is essential that all stakeholders agree on what those objectives are. With the objectives defined and agreed, they can be used to frame the problem at hand and guide your plan to address the problem.
  3. Measurement
    With these objectives identified, you must then define and agree how you will measure the legacy system(s) against them. These measurements, be they technical or procedural, can give the team clarity on which approaches are most suited to solving their problems. In addition, it provides an objective means to evaluate the work done to address the legacy system problems, minimising any disgruntlement due to subjective assessments.
  4. More heads are better than one
    Don’t just leave a lone developer (or other team member) to toil away on their own. Enroll all people/roles/departments who can provide input to the problem. It is often the case that a small change to an upstream business process will mitigate the pressing symptoms enough to give the technical team some breathing room to address the problem effectively.
  5. Stick to the plan
    This does not mean that you doggedly stick to something that doesn’t work. Your plan should allow for flexibility and unknowns. That said, defining and agreeing a structured approach to tackle your problem is essential. A good plan provides clarity for team members to work together effectively and also for your stakeholders, enabling them to understand the progress being made.
  6. Learn from the process
    Once you have solved the problem and averted the current crisis, it is all too tempting to move on to more exciting things. However, this frequently results in similar problems occurring again further down the road. As the saying goes: “Where there is crisis, there is opportunity” – With that in mind, it is advisable to review the cause(s) of the current problem whilst it is fresh in everyone’s minds; evaluate the risks of them recurring, or similar challenges arising. In addition, it is not unusual to uncover other risks whilst investigating the primary problem. These should be recorded and communicated to the business. With the pain of the current crisis still fresh, it is often a good time to get buy-in from the company to take preventative action to limit future problems.

If you think your legacy software applications might be holding you back and you need help identifying the barriers that are impacting your business, get in touch to see how we can help.

Speak to a Software Development Specialist

If you would like to discuss a bespoke software development project, challenge or goal please book a 30 minute Clarity Call with us and we'll point you in the right direction (even if you chose not to work with us)

Synetec Logo

Other Featured Articles

Cookie Settings
By using this website, you agree to the storing of cookies on your device to enhance site navigation, analyse site usage, and assist in our marketing efforts. View our Privacy Policy for more information.