A new way of thinking is crucial for a legacy-free future
2021 proved to be another challenging year. Even so, the ongoing pandemic has also brought us some good things. The digital transformation that many companies had to quickly implement, has certainly led to new insights. For example, how we deal with working remotely, which IT solutions we use, and how we can permanently rid ourselves of legacy.
The last few years have been a major turning point in the software industry. Organizations that functioned perfectly with a core IT system from the 1990s, supplemented with numerous peripheral applications, suddenly realized they had reached a breaking point. After all, you can't keep adding more emergency solutions to optimize your operations for something inevitable like lockdowns and working remotely. The only solution to break such a deadlock is to drastically revise your IT infrastructure and to finally break away from your technology debt once and for all.
No guarantee of success
In any kind of IT modernization, legacy solutions are the biggest bottleneck. How do you replace them in a reasonable amount of time and without the risk of the project being delivered late, dreadfully over budget, or even failing completely? After all, there are almost no guarantees within the software industry that a project will actually be successful.
This means you need to make a very strategic choice, which will determine the future, and even the very existence, of your organization. You must not be afraid of breaking with old methods and ways of thinking. With this in mind, let's list a few considerations.
1. How critical is the situation?
Replacing an outdated IT solution that is the foundation for your business operations is an extremely radical step. There must be a compelling reason to justify taking the plunge. This might be, for example, increasing maintenance costs, limitations with regard to innovation and continued development, or capacity and security problems. Apart from the fact that software sooner or later reaches its end-of-life, the IT experts, who can understand and maintain the obsolete technology, will all gradually retire. What will you do when the last of them are gone? So, don't wait too long to resolve this problem. Otherwise, it might be too late.
2. Programming, configuring, or modeling
The next crucial question is what the right path is to take. Do you opt to develop a completely customized system with traditional development tools? If so, you can almost be certain that the project will go over budget and cost an incredible amount of time. And that once the code has been delivered, you've essentially created yet another legacy system.
An alternative is to select a standard software package and configure this to meet your requirements. This sounds like a good idea, but the promises made about the flexibility of software packages are rarely substantiated. Every year tremendous amounts are lost to failed software implementations, with some companies having to throw in the towel after many years of implementation.
In general, most code is already legacy when it is delivered, and standardized software is only useful if it exactly fits with and supports the existing business processes. So, delivering software requires a radically different approach. Everything needs to be far more structured and faster.
Therefore, the use of software modeling with low-code tools is on the rise. It offers the possibility of creating software without being dependent on traditional programmers. Software that you can create in a structured manner and can expand and modify without any problems. This allows you to get tangible results much faster and involve employees at a much earlier stage in the process.
3. Developing faster means thinking differently
In modern software development, you should always focus on delivering Minimum Viable Products (MVPs). You analyze the most important challenges facing the organization and try to resolve them as soon as possible using software.
This is very different from traditional software development, where IT service providers ask their customers all kinds of difficult questions about their business processes and force them to make important choices early in the process. This old way we used to make software is totally out of touch with how people think.
In the new world, things are totally different. You can dramatically accelerate the speed of development by developing with modern low-code tools. You can make a large project manageable by focusing on delivering MVPs and not on the entire project in one go. You can then expand that software easily and quickly within the same low-code structure, without the need for all kinds of peripheral applications.
4. Go for certainty
Once bitten, twice shy, but there are still many companies and government bodies that continue to forget this and repeat the same mistake time and time again. They choose a ‘safe and trusted’ software package, which in the end, after years of configuration, still turns out not to meet their expectations. They believe promises of an IT service provider that is subsequently not able to successfully deliver a project within budget and the stated deadlines. Or they spend millions on custom development to only discover after delivery that by then the solution no longer matches the current requirements. Or that the technology has become obsolete and surpassed by something new.
This can all be avoided by starting to think differently about software. Select high-quality software and a software vendor that guarantees success. Business software that is drastically different, because you can model functionality instead of programming it. This is far faster and also makes you less dependent on expensive programmers or consultants. Use software that is not rigid, but that can be continually modified and developed further. And all this without becoming technologically obsolete and without the risk that the knowledge of how the software works will eventually disappear from the organization. In my opinion, this is the path to a future without legacy.