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:
Diagnostic questions:
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:
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:
Diagnostic questions:
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:
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:
Diagnostic questions:
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:
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:
Diagnostic questions:
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:
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:
Diagnostic questions
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:
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.
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.