Excellence in Software Engineering
Running with Clogs in the Space
17 December 2020

Author: İsmail EL, SW Architect – Corporate Applications



Nearly almost all organizations, even which use agile practices, get in a tizzy with legacy applications. As the time went by, based on outmoded architecture, those ones have been expected to do things beyond for what they were originally designed decades ago. Mostly bloated with enhancements held together with chewing gum, they became heavily deficient in functionality compared with the expectations of its end users or the organisation. While being not obsolete, they do no longer meet the business or organizational requirements as it should be.


Even though handling legacy applications is a milestone around neck of the organizations, they are nevertheless extremely valuable. There exist numerous justifications why an enterprise is in need of maintaining a legacy application.

When it comes to modern business requirements, abandoning legacy applications still isn’t an alternative even they often fall short because they are not pretty well-suited and less capable to adapt to rapid change. Nonetheless, they continue to support critical processes and information the business depends on. They still show tendency to offer the kind of security, reliability and resilience required. As well, innovation-fueling data is mostly stored in legacy databases. These tend to be the systems of record and are used to support vital business functions, such as data processing.

Moreover, it may be awkward and costly to replace, in particular, for a vertical market with specialized functionality requirements. As well, the operational risks of an upgrade which may result in data lost or corruption are considerably high, especially if the data is of critical importance.

On the other hand, legacy applications tend to be a minefield. Any part you care to dig, you might encounter big problems. It is not reasonable to plug up every hole. Therewith, considering economic constraints, managerial staff usually likes to shrink the task force maintaining the legacy application ever smaller and smaller, so that every investment in legacy applications needs to be taken into consideration.


It is not possible to maintain and utilize obsolete applications ad infinitum. As the stability is on the carpet sooner or later, it’s time to modernize them at the end of the day. At some point an enterprise will be in need of upgrading hardware, software language, OS or the application in subject. Modernization involves refactoring, repurposing or consolidating legacy application to realign with today’s actual business needs. The main purpose of a legacy modernization is to create new business value from existing applications based on a new platform in consideration of efficiency, effectiveness, speed, stability, reliability and more dynamic capabilities. There exist several reasons justifying the necessity of modernization.

First, it is not possible for those legacy applications to undergo a change as fast as modern business needs critically evolve. Although organizations internalise agile practices across the enterprise, these apps keep them down. Subsequent to countless enhancements and fixes in decades, they have snarled up with design compromises in an unavoidable complexity and huge size. In all likelihood, the very first designers have already gone, if any, leaving little documentation.

Second, taking legacy applications in hand costs too much. That is, they complicate all aspects of their enhancement as well as maintenance, necessitating more time and money than acceptable.

Finally, and perhaps most especially, the risk grows. As the hands would turn with time, software and hardware become obsolete. Therewith, it gets more difficult to find engineers with necessary and sufficient skills to modify them, making IT less confident in its ability to keep these legacy apps running properly.

Team of Expendables

Yes!!! It is not possible to keep experienced persons on the same Project for ever. But keeping experienced people just around is important. It’s cost also higher than rewiring the project for scratch for most of the projects. Saving expertise in different projects and putting them in the field when they are needed is only the solution to not to lose the expertise for long years. In addition to expertise related platform need be up and running for legacy products. One key point is not mixing these platforms with new solutions directly to not to lose integrity. An API or a software bridge is a must if it is desired to legacy and next generations’ solutions to work together. This also another hump on the camel which is drowning the company budgets. The expertise is also quick fixing tape for this hole. If you want to serve a clog to an astronaut, you need the persons who knows the pros/cons of clogs at the same time the conditions on the space missions.

Application maintenance keeps legacy systems serviceable

Business world is disposable, but legacy applications are still in use for years or decades. IT operations needs tools to ensure serviceability of legacy applications while deploying new apps with different structures so as to keep pace with the latest business needs.

After all, enterprises are in need of effective maintenance and responsive monitoring tools that work with modern apps in harmony so as to keep these systems performing up to standard without being deprived of new projects.

Past Articles

Enabling Innovation on Legacy Systems

Enabling Innovation on Legacy Systems

Let’s continue to talk about our blog series “Remote Teams in an Era of Agile”.  What I have mentioned in my previous blog post was “Technical Excellence and Agility”. Today, I would like to continue with the time zone challenge within international teams working across different time zones.

Legacy Software Problems and Maintenance

Legacy Software Problems and Maintenance

A legacy system can be defined as outdated computing software and/or hardware that is still in use. Most legacy systems or setups exist due to some reasons such as long-term ongoing projects, support contracts, the difficulty of replacing modern ones due to cost or any kind of limitations.