Rewrite ROI: 5 Scenarios That Justify Modernizing Your Legacy System

 

Shane Delamore

Shane Brinkman-Davis Delamore is a master of the craft and passionate about UX design and programmer productivity.

Updated Jun 21, 2022

Technology moves fast. So do customer expectations. Keeping an application up to date in this dynamic environment requires continuous innovation. However, the increasing pace of change in both technology and user expectations means that obsolescence is always nipping at your heels. 

At some point, even the most well-designed and well-maintained products become unacceptably expensive and time-consuming to maintain. Beyond these hard costs, an outdated product can result in shrinking market share, ballooning costs, security risk, performance issues, or all of the above. At some point, the cost of a major rewrite becomes justified.

A well-done rewrite offers many opportunities. Discarding out-dated assumptions embedded into your product and tuning it for the modern market can reinvigorate your competitive edge. Taking advantage of modern hardware and software platforms can decrease operational costs while increasing scalability, reliability and security. A ground-up modernizing of your software can radically improve your agility, performance, and profitability.

Determining the right moment to pursue this level of change can be challenging. However, in our experience, the ROI tipping point often comes sooner than you might think–especially when taking into account the opportunity costs of keeping a less-competitive product alive and missing out on accelerated innovation. 

Below are five common business scenarios that can show a compelling ROI for modernizing your software with a major rewrite. In each section, I’ll provide an overview of the problem, some typical symptoms, and some diagnostic questions to ask. Then, I’ll offer a few tips on how to get started thinking about your rewrite and what ROI goals you might want to target.

1. Reliability and Performance

Problem: 

Even a system that was once top-of-the-line can become a lumbering dinosaur a few years down the road. Whether customer expectations have grown or the technology just wasn’t built to handle today’s workloads, it’s showing its age. It might be slow, behave in unpredictable ways, or incur unacceptable levels of downtime. 

Symptoms:

  • Excessive downtime
  • Excessive customer complaints about reliability and performance
  • High average latencies on requests
  • Excessive alarms waking your team up at night

Diagnostic questions:

  • How much do you spend on dev and support resources to address performance and reliability problems that you could be investing in improving the product?
  • What are customers saying and how have their attitudes changed in the recent past? 
  • At the current burn rate, how long before the current expenses and lost revenue justify doing a rewrite?

Solution: 

Assess your application from the inside out. If you were to rewrite the core using today’s technologies, how much better would it be? Depending on how much of the back end needs rewriting, you might also consider re-inventing the front-end product experience as well. Somewhere around the 50% mark rewriting the entire application becomes easier than rewriting just half of it. 

ROI goals: 

  • Turn detractors into enthusiastic supporters
  • Redirect your engineering team from fighting fires to adding value to the product
  • Sleep through the night

2. Scalability Limits

Problem:

Your technology is a victim of success. You’re growing like crazy, but your service architecture can’t keep up. Sometimes your service scaled in a completely different way than you planned for. Sometimes there just wasn’t time to build a robust scalable platform for your MVP. Perhaps you performed a “lift-and-shift” of your on-premises infrastructure without taking full advantage of your cloud provider’s scaling technologies. To avoid flattening your growth curve and driving away customers, you might need to invest in a major modernization of your infrastructure.

Alternatively, perhaps you are courting a new enterprise customer that is an order of magnitude larger than any previous customer you’ve worked with. Perhaps your multi-tenant architecture was designed to scale in the number of tenants but was never designed to scale individual tenants to very large sizes. To service these larger customers, you’ll need whole new scaling capabilities.

Symptoms:

  • Can’t keep up with growing demand
  • Web servers’ latency spiking as they reach 100% utilization during peak hours
  • Database servers falling over, requiring manual intervention to get back up and running
  • Spending an excessive amount of time manually scaling your infrastructure to manage load
  • Courting a big, new client, but the system architecturally can’t support a client that large

Diagnostic questions:

  • If you experienced overnight 10x growth in your customer base, could your app keep up? 
  • Do you find yourself worrying that you’re going to land a customer that’s TOO big? 
  • Is your current architecture impacting customers and throttling your growth?
  • Is your app particularly intensive in terms of storage, computation, concurrency, or other specific factors? 
  • Are you ready to scale well under your wildest best-case scenarios?

Solution: 

Estimate your realistic, best-case, and amazing-case scaling needs for the next 5 years. Draft the best modern architecture to meet your needs. Now that you know where you are going, you need to figure out how to get there. Estimate how long it will take to build the new architecture, taking into account you’ll still be maintaining the existing infrastructure in the interim, and most importantly make a well thought through migration plan. The best migration plans include running both systems side-by-side for a substantial period.

ROI goals: 

  • Accelerate business growth by uncorking your bottleneck
  • Easy, effortless, stress-free scaling
  • Support larger customers

3. New Opportunities for Fueling Growth

Problem:

You see a major opportunity to serve the emerging needs of existing customers or to pivot to a new market altogether. Your current app gets you part of the way there, but there’s a big gap between where it is today and what you envision. Whether you need to optimize it for a different customer size, usage pattern, or feature set, rewriting the app may be more cost-effective than bolting on new functionality. 

Symptoms:

  • Difficult or impossible to add new features
  • Courting a big new client, but the system architecturally can’t support a client that large
  • Watching money slip through your fingers

Diagnostic questions:

  • Which technologies do you need to support that you currently can’t?
  • What new compliance expectations will you have to meet in the new market?
  • Will your app scale up or out to match customer sizes and needs? 

Solution:

Rewrite the app with the new market in mind, prioritizing the ability to make future change easier. By decomposing the app into discrete services using containers, APIs, microservices, and other modern architecture, you’ll be positioned for greater agility going forward. You’ll also be able to reuse those components in other solutions. Make sure you engage with the target user base early and often to validate the business case and optimize the value proposition in real time. 

ROI goals: 

  • Open new markets or revenue streams
  • Support larger customers 
  • Increase profitability with a more valuable product or by entering a more lucrative market
  • Reinvigorate your product with an agile, modern platform that can quickly respond to ever changing business requirements
4. Operational Costs

Problem: 

The problem is simple–you’re overspending on operations. The solution might be simple, too–like turning off unused servers or changing which cloud instances you use. More often, chronically high operational costs are a symptom of sub-optimal architecture as it relates to the underlying platform. The bill can add up quickly, dwarfing what it would have cost to refactor the app in the first place. By the time you are spending six figures or more a month, a strategic rewrite can often pay for itself in a few months.

Symptoms:

  • You’re spending six figures a month or more on cloud infrastructure
  • Your cloud spending is a significant part of your overall expense pie
  • Your cloud expense structure will bankrupt the company as you scale

Diagnostic questions:

  • Which aspects of your infrastructure are driving the cost, and which are driving the value
  • Have you already performed significant cost optimization and are finding that you are still paying too much?
  • Estimating pre- and post-rewrite operational costs, how long before the rewrite pays for itself?
  • Are you using high-cost SaaS services when it might be cheaper to build an in-house solution?

Solution:

Audit your app to understand where the majority of your spending resides. Determine if it’s best to optimize your application code, refactor your cloud infrastructure or do both. The key is often tailoring your app to the pricing structure of your cloud provider. Be sure to understand their pricing model thoroughly before proceeding with your plan. As mentioned above in the “Scaling” scenario, you’ll need a good migration strategy so you can seamlessly swap over to the new back-end without affecting customers.

ROI goals:

  • Slash your cloud-bill in half, three quarters or more
  • Increase profitability
  • Structure your cloud usage to maintain profitability even as you scale

5. Regulatory Change

Problem:

Regulatory complexity continues to grow, especially in compliance-heavy industries like healthcare and finance. In some cases, new regulations can stymie the growth trajectory of an existing application. Or, you may want to expand into a new market with stricter requirements and find that your app was not designed to meet them. Retrofitting an existing app to meet compliance requirements may not be possible, especially when those requirements are related to the technology stack itself. 

Symptoms:

  • You’re struggling to meet your current regulatory requirements
  • Your regulatory regime has impending changes you must comply with
  • You want to enter a new market with regulatory requirements you can’t currently meet

Diagnostic questions

  • What compliance issues will come into play if you expand into new markets or territories?
  • What is the opportunity cost of delaying entry into those opportunities? 
  • What aspects of compliance are pro forma and which require demonstrating specific capabilities?
  • How easily can you adapt to future regulatory changes? 

Solution:

Start by understanding the regulatory requirements thoroughly. Consulate with compliance experts to verify your assumptions. Next, audit your existing solution to determine the increment of change required. This can range from updating the encryption settings on your cloud infrastructure to fully rewriting the application. If deeper change is required, take the opportunity to evaluate your product’s design as a whole and re-tune it for modern market conditions.

ROI goals:

  • Protect your current markets by staying current with regulation
  • Move into new markets with new regulatory capabilities
  • Win more business by demonstrating your commitment to compliance rigor
The High Cost of the Status Quo

There’s almost always a way to keep something running a little longer or hack in a solution for a given business need. But it’s important to evaluate the opportunity cost of burning cash running in place versus investing in the future with a larger, more thoughtful rewrite. Technical debt eats away at the agility of an aging system and eventually comes due in the form of downtime, high costs, and missed revenue. Development gets more and more expensive and innovation slows to a crawl.

The decision to rewrite an application is rarely an easy one. It can be expensive, complex, and time-consuming. But it can also reduce costs over the long term, increase profitability, and open up new markets. 

The good news is major rewrites don’t have to be the high-risk projects they are infamous for. By definition you’ve already done the hardest part of any project–fitting a product to a market need. Armed with your deep understanding of that market and a few critical risk-management strategies, a well-managed rewrite project has an excellent chance of success.

At GenUI, we specialize in modernizing complex applications in ways that deliver ongoing value and measurable business results. We can evaluate your existing situation and recommend the most cost-efficient way to achieve your business goals. If a rewrite is justified, we’ll help you get it done faster, with less risk, and with an eye toward your future. Let’s talk about getting your app up to speed.

How can we help?

Can we help you apply these ideas on your project? Send us a message! You'll get to talk with our awesome delivery team on your very first call.