The types of legacy systems that many organizations still rely on pose a challenge because they're more than just slow, outdated and cumbersome to use. They actually bring with them their fair share of dangers, each of one becoming decidedly more problematic than the last.
For starters, the costs associated with maintaining these legacy systems will grow exponentially over time - to the point where they make it difficult (if not impossible) for businesses to keep their budgets under control. Not only that, but reduced security is a major concern when it comes to these types of legacy systems and solutions. Once a legacy system is no longer supported by the original vendor, users will no longer receive security patches, bug fixes and other updates. At that point, the system itself becomes a vulnerability to be exploited.
Along the same lines, another one of the major problems with legacy systems is that they pose a massive risk to organizations that are under strict regulatory compliance requirements.
In no uncertain terms, compliance standards like SOX and HIPAA require that your technology be continuously supported. This means that in the unfortunate event that you do suffer from a data breach as outlined above, you're now looking at additional fees and penalties on top of it all (not to mention damage to your reputation that will be difficult, if not impossible, to recover from).
Finally, regardless of whether you're talking about a software-based legacy system or a hardware one, older systems have failure rates that only increase as time marches on. This means that if you're somehow able to avoid all of the aforementioned issues, you're still looking at a scenario where downtime becomes increasingly unavoidable. When you consider that the average cost of downtime per hour is a massive $260,000 across all businesses according to one recent study, it's easy to see why this is an issue you would want to get under control as soon as possible.
At that point, the logical step becomes clear: legacy business applications need to be upgraded, modernized, or outright replaced for not only the supportability benefits this action brings to the table, but also to help with performance and to even address the organization's evolved needs in a better capacity.
Thankfully, this process is not nearly as difficult as most people assume it to be. Yes, it will require a significant amount of effort on behalf of the business itself - but when you consider the long-term benefits that you're getting, it will quickly prove to have been more than worth it. But to make sure that your legacy system modernization efforts are getting off on the right foot and are headed in the right direction, there are a few key things to keep in mind.
Setting aside all of the previously mentioned problems with legacy systems for a moment, one of the biggest negative impacts that these assets can have also impacts perhaps the most important element of any organization: user productivity.
When a system does not meet an employee's particular needs, they tend to come up with workarounds so that they can continue to do things in a way that they're comfortable with. If that person comes up with a new approval process that the legacy system cannot handle, for example, they'll typically come up with a process using a spreadsheet or some type of paper-based system in an effort to continue to track approvals.
What they're really doing is ignoring the gap in their system in an attempt to deal with the lack of capability of the resources you've given them. This creates challenges in a few different areas, chief among them that they've largely just created a data silo that doesn't need to exist. If important information is contained exclusively in a spreadsheet or in some other paper-based system, it cannot move freely across your organization. The insight contained in that data isn't available to those who need it - and indeed, they may not even be aware that it exists. This means that they're forced to make decisions based on old information and insight, as opposed to the latest and most up-to-date data.
Likewise, these types of processes are definitely not standard or repeatable - which means that if said employee leaves your organization, they're essentially taking their process with them. This will make it incredibly difficult to onboard someone new to fill that position, who will still be dealing with the same limited resources as the original employee.
Sometimes, those employees will look for an off-the-shelf solution to meet their needs - but the problem here is that these tools are so often built for the mass market. They'll be unable to handle the uniqueness of your business simply because they were never designed to do that in the first place. They're not a genuine solution, they're built to be a "Jack of all trades, master of none."
If the employee continues on with that off-the-shelf system, they may be able to get the results that they're after - but they're doing so at the expense of everyone else in the business. They typically create other process gaps because the off-the-shelf solution doesn't integrate with other tools and assets that they need on a regular basis.
Sometimes businesses will develop their own in-house solutions to help solve one or more of these gaps, but they don't end up with a comprehensive solution designed to cater to the needs of the overall company. This, too, is problematic for a plethora of reasons. For example, if one company is educating their IT team through college classes, those employees may go out and create their own applications as a project for the class. But what they'll be left with is a multitude of applications all written in multiple languages by people with very different intentions. When those employees leave the company, there is no one left to support these applications - essentially leaving the organization right back where it started with little in the way of forward progress to show for it.
Those organizations who continue to rely on legacy systems despite all of this will run into a variety of problems almost immediately, many of which occur at the exact same time. The most obvious of these is poor productivity. If it takes an employee 10 minutes to complete a task that should be possible in five, that's five minutes they're spending working with a frustrating and time-consuming workaround in a scenario they shouldn't be in at all. That's also five minutes where they're not making money for your company. When you multiply this number by the total number of employees in your business, you're dealing with potentially hours of lost productivity every day where people are being needlessly taken away from those tasks that require their time and attention.
This bleeds directly into another one of the biggest risks of continuing to depend on legacy systems: the significantly increased chance of errors in delivery to customers. Thanks to the problems inherent in those data silos and in those paper-based processes, lost orders and missed invoices become increasingly likely. At that point, this places a burden on humans to never make mistakes - something that is obviously unrealistic. All the while, the quality of the work that they're able to offer suffers through largely no fault of their own, and the company deals with significant lost costs from poor productivity (not to mention potentially irreparable reputational costs with clients and customers, too).
But maybe the longest-term risk that continuing to support legacy systems ushers in is one where organizations quickly find themselves left behind by their savvier and more tech-driven competitors. Yes, there was probably a day when your closest competitor suffered from many of the same problems that you are right now. But those competitors who have already solved these problems are suddenly more nimble and agile than ever before. At that point, they can win both the competitive advantage and business from you - especially when your problems start to trickle out and impact the larger customer experience that you offer.
At that point, you have a choice on your hands: you can simply update, modernize or outright replace your legacy systems, or continue to support those systems in some capacity. Somehow, there are people out there who see all of these very real dangers and still think it's a good idea to do the latter instead of the former. This, too, quickly becomes a nightmare for most companies.
For starters, continuing to support legacy applications on your own when they're no longer supported by the vendor means that you need to now go out and find someone who A) is familiar with the system you're talking about, and B) who has the skills and the expertise necessary to maintain it.
The issue with this approach is twofold. First, it's very difficult to find top tier talent with the type of experience necessary to offer the same quality assurance and uptime guarantees as you would get with a new application. If you do get lucky and manage to find that person, you're going to pay heavily for their services. Not only will you spend a significant amount of money searching for these people and onboarding them, but you'll need to continue to invest in training and other ongoing education concerns in the future. Needless to say, these costs will quickly add up.
But more than that, in many cases these legacy platforms will STILL not be supported on the operating systems you're using them on. This means that even if you find the most objectively perfect person to fill the role described above, you're still creating an enormous security risk for your business that you can never, ever 100% eliminate.
This type of scenario is challenging for a different reason, too. Oftentimes when dealing with technologies that are 10-years-old or older, the senior people within an organization who may have developed said platforms have long since moved into management and no longer want to go to the enormous amount of effort required to maintain the code. The younger people in the business are less likely to want to get involved with older technology in the first place, already being well aware that something far more viable and user friendly is available. This means that there is nobody left to maintain those systems - creating a perfect storm in the worst possible way.
This age vs. technology situation also extends to the independent contract programming market. For example, leading up to the year 2000, it was expected that many legacy systems would fail because of the Y2K date bug. Some dates were stored as only 2 digits, so what happens in date comparisons when “99” flips over to “00”? To make matters worse, if a year is divisible by 100, it is not a Leap Year unless it is also divisible by 400. No one ever wrote these simple rules into the software of the 1980’s & 90’s and these systems were expected to fail as the clock ticked over on New Year’s Eve 1999. When it came time to fix the date errors in thousands of legacy systems, the older programmers were no longer working in the field and the younger programmers wouldn’t touch the ancient technology even though companies were offering exorbitant fees.
But again - even if you somehow manage to circumnavigate all of these issues and find someone to maintain your legacy systems, these options are still not scalable, and they rely on individuals to support them indefinitely.
This is largely a “Band Aid” approach - you're treating the symptom, not the disease. All of the fundamental flaws of the legacy system still exist, and they will, forever. All you are doing at that point is delaying the inevitable.
Plus, the opportunity cost of not addressing the need sooner will continue to impact business productivity and growth, all while opening up your customers and markets to competition.
At this point, it's entirely possible that a business may not have the expertise to handle any of these concerns themselves - and they have never hired a programmer before, so they don't really know what that entails. Here, they usually make one of three mistakes: they either hire an independent consultant to maintain their legacy systems, hire a consulting firm to do the work, or find an off-the-shelf application and try to shoehorn it into their organization.
The problem with hiring an independent consultant is that they are only as good as the people who manage the project and have the skills to map your requirements to a solution. A failure at this part of the process can result in a solution that is worse than the one you are replacing, not better.
Hiring an independent consultant is simply not a scalable move, because there are only so many hours in a week to devote exclusively to your company.
Off-the-shelf software also creates its own share of gaps and rarely, if ever, solves the problem to begin with. It may solve 80% of the problems you're facing, sure - but that 20% that remains is what is unique to your business and that is not currently being addressed at all.
If all of this sounds like a waking nightmare for executives, that's largely because it is. But thankfully, this is all a big part of the reason why legacy system modernization is so worth your time and effort to begin with.
Rather than dealing with legacy options that are not scalable and that still rely on individuals to support them, you can instead duplicate the functionality by documenting the old application and using it as the foundation for creating a new web-based application - one that is also built on the latest web technology.
Instead of the Band Aid approach, rebuilding the application as a native web application not only solves your performance, security and accessibility issues, but it also enables access to both the platform and the data contained inside it anywhere, at any time, from any device.
For organizations still using the development platform Classic ASP, for example, remember that this is no longer supported by Microsoft - meaning that businesses with these applications must rewrite them using a modern technology like Microsoft’s ASP.NET for supportability, scalability and the security that Classic ASP lacked. Likewise, old database systems, such as Access and FoxPro, are single user systems designed to be run on a single computer. These can easily be imported into SQL Server, which is multi-user accessible. Then, a web application can be written in ASP.NET as the front-end access to the data.
A benefit of migrating an ancient COBOL application to a modern language is that application maintenance, expansion and development systems are readily available. Application maintenance and performance improvements are absolute requirements for any application as an organization's needs change over time. Therefore, businesses benefit with the improved performance, stability and features of an updated application that their old systems could simply never match.
Beyond that, you also have the simple fact that the customers of today expect all applications to be web based or mobile applications at a minimum. Businesses with legacy applications must migrate to gain customer acceptance if nothing else.
While it's certainly not recommended to hire a consulting firm to continue to support your legacy applications, it *IS* recommended to find one to help with your modernization efforts for a variety of reasons.
When you hire a consulting firm, you gain access to a full range of expertise for every aspect of the software development lifecycle. When you attempt to do everything yourself, you will invariably deal with gaps in expertise because it's simply not what you do for a living.
A development partner, on the other hand, has the resources necessary to take on multiple projects at once - allowing you to improve business productivity far faster and more efficiently than if you tried to do it all yourself thanks to the scalability of their resources.
Likewise, solutions developed by your consulting partner will be precisely built to fit your unique needs. The process experience may also help your business improve process efficiency through agile development, because friction points become obvious and improvements are easily implemented.
But most importantly, having an outside firm do this frees your people up to do more important work and to focus their time and attention on more immediate problems. Quite often, internal initiatives get pushed to the back burner because key people are being asked to develop systems when they don't actually have the time to do it themselves because of their regular organizational responsibilities.
In the end, you may look at those off-the-shelf SaaS applications and think that, because they are inexpensive, you can implement something to meet your needs. As the old saying goes, "you get what you pay for."
You'll always get better results with a consulting firm versus with independent contractors because of the scalability they bring with them, the experience they have that you get to leverage and, most importantly, the different skill sets like UI design, graphic design, database design, project management and more that not all coders have. Solving these challenges are only going to become more urgent as time marches on, so this is definitely something you want to start thinking about sooner rather than later.
When you partner with Keene Systems to replace your legacy systems with the types of high performing business applications you can depend on, we begin by taking a systematic approach to documenting the existing system AND your company's needs. Based on those, we define a series of screens that can fully implement all of your requirements. These screen designs dictate the structure of the database that goes along with it.
The process we used is called Agile development, and it's perfect for taking a very large problem and breaking it down into a series of smaller and more manageable pieces. This allows change to happen naturally during the lifecycle of the software development.
Not only that but the skills of every member of our team - from planning to strategy to execution, implementation and beyond - are top in their field. This brings with it the most important benefit of all: better application development, better supportability, and a happier customer experience across the board.
So, if you still have any additional questions about why legacy system modernization is so important for a business like yours, or if you'd just like to speak to us in a bit more detail about your own situation, please know that Keene Systems is always happy to help you explore solution possabilities. Click here to download our eBook titled "The Keene Systems Guide to High Performing Business Applications," or click here to continue our legacy application modernization discussion in a one on one phone call.