Design and Technology Guides
A guide to modernizing legacy applications
The bar has never been higher for digital experiences. Whether it’s predictive search, media platforms that seem to know our preferences before we do, or apps that are constantly streamlining for ease of use, people are accustomed to digital experiences that are intuitive, straightforward, and delightful.
These expectations affect every industry, and the line between digital tools for business and personal use is only getting blurrier. If you’re sensing your enterprise application needs a significant redesign, your customers probably are, too. And they’ve probably told you through informal feedback channels, or worse, through attrition.
We’ve worked with many enterprise organizations to transform legacy platforms to improve customer retention, expand to new markets, and solidify our clients’ positions as industry leaders. Below, we’ll share more about the approach and payoffs of app modernization, team structures that lead to success, and common mistakes to avoid in the process.
What is application modernization?
Application modernization is the process of bringing outdated software and digital products up to modern standards—often including an audit and rethinking of design, technology, and internal processes. Modernizing applications is an extensive process that is intended to dramatically improve user experience, customer or employee satisfaction, and overall business impact. This process is often referred to as legacy application modernization.
Why modernize your app now?
Most of the issues legacy applications face—outdated technologies, a difficult-to-use interface—stem from rigid infrastructure and tech debt that make iteration difficult. By investing in rebuilding the “foundation” of your application, you ensure its ability to adapt in the long run. This isn’t an issue of throwing out what’s working—it’s about creating an environment where success is sustainable, and you can generate wins over and over again as technology evolves.
Outdated apps are not only a drag to use, they can erode trust in your brand and service.
There’s also a growing movement to put accessibility at the core of any rebuild for more than just moral and best-practice reasons. There are legal implications. If someone can’t read or use your application, they have the right to sue under the American Disabilities Act. Your team needs to ensure your products are accessible for users with various needs.
Modernizing applications is about understanding that your digital service experience is integral to your success and customer loyalty. The real ROI of modernization is seen in its ability to make your app or platform dynamic and flexible enough to evolve and meet emerging business needs.
Challenges during the app modernization process
The process (and hurdles) of application and full platform transformation can seem daunting. Enterprise app modernization requires a lot of concentrated effort, and you don’t get to opt out of meeting customers’ increasing expectations. Modernization isn’t a luxury, and the results can be massive for your business. In other words, the work is essential and the stakes are high.
Like any project, you can take steps to prepare that will make your team’s work run more smoothly down the road. By familiarizing yourself with the core approaches and potential pitfalls of modernization, you can set meaningful and realistic goals—and understand precisely how to achieve them.
Planning for iterative updates
As with any significant investment, you want to ensure that what you’re getting will be relevant beyond the first few months. Your goal should always be to move toward an application born out of iterative processes that brings tangible benefits to customers—and your business—for years to come.
But gathering buy-in on this approach can be tough. It’s tempting to plan for a big release—or for a few large updates to release important features. But this is a quick path to building an application that takes too long to complete and becomes outdated quickly.
Deciding to rebuild rather than layer on
A successful legacy app at a large organization will likely have a sizable active user base that is paying for and relying on continuity of service. Determining how you’ll make significant UX improvements in aesthetics, usability, and simplicity—without disrupting the core functionalities your customers rely on—requires a well-choreographed plan between teams.
This is where we see many organizations make their first missteps. While it can seem sensible to focus exclusively on updating existing features or adding an updated “layer” to the app that communicates with existing infrastructure, this almost always backfires. Rebuilding over time is the most effective way to ensure your application is high-quality and meeting customer expectations in the long term.
Evangelizing best practices
To really tackle the challenges above, you’ll need to prepare for and socialize a phased approach supported by a continuous agile program to move from big releases to iterative improvements. Factoring in regression testing and user feedback processes helps to ensure that bugs are minimized and users are delighted, not confused, by these updates.
With parallel tracks of work happening within one product team, or even across multiple teams, you’ll also need to coordinate at a high level across teams to make sure there is a consistent experience across all of your applications and services. If you are already experiencing fragmentation and an inconsistent user experience across your product suite, this effort is the ideal time to set the foundation on your team for a unified design language.
Application modernization methods
There are a number of modernization methods that help to ensure you’re pursuing the right solution—and building the right thing. The complete approach your organization takes should be made based on identified user needs, organization goals, and other factors like timeline and resources.
Here are some examples of modernization methods:
- Current State Audit: Assess the current state of the application by doing an audit to collect an inventory of features and functionality. In this step, you should consider evaluating each feature in terms of the level of effort it will take to modernize versus the potential value it provides to customers and the organization.
- Refactor: Instead of trying to tackle modernization all at once, break the application down into individual parts or features. One way to approach a refactoring effort is to identify and prioritize the most valuable parts of the application, and consider separating those out into their own services first.
- Replatform: Move your application to the cloud, which can be accomplished in a number of ways depending on the needs and constraints of your organization’s development process.
- Rearchitect: One approach is to take advantage of the opportunity to restructure your application. Making the application easier to update, for example, could ultimately improve the experience for the end users as deploying new features and feature updates becomes easier.
- Lift and shift: If your organization requires a less labor-intensive path, one way to accomplish replatforming is by migrating the application to the cloud “as is.” However, keep in mind that a slow on-premises performance is unlikely to improve with cloud migration. In those cases, rearchitecting is likely to yield better results.
3 strategies for a successful transformation
Every successful digital transformation has three things in common, regardless of your industry, goals, and product. We’ve seen consistently that these three strategies are more likely than anything else to lead to a successful end result.
1. Make customer-centered and data-driven decisions
Expertise in user research, UX measurement, and customer feedback loops moves discussions about the evolution of your product from internal debates to clear, data-driven decisions. Initial discovery research, ongoing evaluative testing and feedback research, and planning for continual improvement creates space for rich customer experience data. The information generated here will help to prioritize your efforts at all steps: where to start, what to refine before launch, and what to prioritize after launch.
2. Use an agile approach with phased updates
Large overhauls can be daunting and time consuming. Breaking work into consumable segments allows you to get updates to the market faster and validate assumptions with users. This can mean that an end-to-end modernization effort that would have taken two years to complete can be broken down and released over time, with valuable updates happening every few weeks.
An iterative approach also allows you to focus and prioritize your efforts, ensuring that time spent drives actual value. And the consequences of not taking a phased approach are big: a two-year build will most likely be out of date before it even hits the market.
3. Implement a design system and a DesignOps practice
As products and teams grow, so does internal complexity. The more people who join a team, the harder it is to stay aligned. When people are overloaded with work, communication drops. And it’s often more tempting for groups to solve challenges independently rather than work proactively across teams. The fundamentals of better design operations will help solve these issues.
A design system helps projects scale by absorbing complexity and providing teams with the foundational guidance and tooling needed day-to-day to design and build the product.
A focus on the fundamentals of DesignOps enables better design leadership to help evolve your team, tools, and processes so you can produce better work.
Without this foundation, confusion and chaos run rampant, which quickly bleeds into the customer experience.
Assembling your modernization team
In order to successfully accomplish all of this, you’re going to need a really great team. And you’ll need more than enthusiasm to carry you forward. Successful, transformative teams are made up of three essential skillsets, each of which contribute unique value to your modernization project:
- Product sets a vision, creates a roadmap for the project, and defines its essential requirements. This team includes Product Owners and Managers as well as Business Analysts.
- Design understands customer needs through research, determines how to meet those needs, and creates s UI that supports your goals—all while testing and iterating along the way to ensure you’re building the most useful product possible. This team includes research, content strategy, and UX/UI-focused designers.
- Engineering builds out new features in a sustainable framework, launches iterative product improvements, and ensures your product is performing well. This team includes front-end and back-end architects as well as UX engineers.
Relying on these three core teams also creates a creative tension that balances each aspect of your project’s needs. By nature of their specific function and expertise, everyone involved will ensure the app’s end result is impactful, realistic, functional, and valuable to the business.
Hiring vs. training employees
When we talk about modernization with clients, the conversation inevitably turns to how to build these teams. Specifically: should you hire or train to fill gaps? The answer depends on your goals.
Most organizations we work with do a combination of both, starting the project with our team and utilizing existing employees to kickstart the transformation. From there, they either hire or train new people as scope expands and complexity increases. You want to understand and align around these new processes, evaluating progress regularly so you have what you need at each stage of the project.
An application modernization success story
One of the first concerns in any modernization effort is ROI. Will this effort pay off in a meaningful way that helps us meet our business goals? Domino’s (yes, the pizza company) is an excellent example of how well this can work.
Domino’s had initially seen great success when they went public with their promise to deliver a pizza in 30 minutes or less, but their competitors had caught up. Sales had slowed, and Domino’s needed their edge back.
In 2011, Domino’s then-CEO Patrick Doyle tasked his team with not only modernizing the Domino’s app and adding ordering functionality, but he added a challenge: Any customer with a smartphone should be able to order a pizza in the 17 seconds it takes for a light to turn green.
The resulting app was a huge success.
From 2010 to March 2017, Domino’s share price outperformed Amazon, Apple, Facebook, and Google. Doyle famously described Domino’s as “a tech company that sells pizza,” and that mindset has contributed to their astounding growth.
Deliver the experiences people expect
Your customers and employees expect to be delighted by your application. When they’re not, your ability to drive conversion slows, your employees can’t be as productive, and customer confidence in your service offering itself erodes.
If you’re eyeing an app modernization project, you can ensure its success by prioritizing the roles you need to make meaningful change, avoiding common mistakes, and driving sustainable, long-term growth.
If you want to talk more about what this can look like for your enterprise organization, schedule an initial conversation with a Think Company expert.
Send us a postcard, drop us a line
Interested in working with us?
We scope projects and build teams to meet your organization's unique design and development needs. Tell us about your project today to start the conversation.