7 not-so-secret weapons to modernize apps

High-profile failures can make "AppMod" a daunting proposition, but how you start shapes how you finish.

Shutterstock image: software development.
 

Application modernization: It's what IT leaders at every agency know they need to do -- and what fills many with a sense of fear, uncertainty and doubt. Many legacy systems cost too much to maintain, they aren't flexible enough to adapt quickly in a digital world and they're becoming real risks as agencies prepare for much of their longstanding IT talent to retire.

Many federal CIOs are anxious to move forward and are looking for direction. For example, ACT-IAC presented a report -- Legacy System Modernization: Addressing Challenges on the Path to Success -- which identified many of the potential challenges agencies face in this journey.

Knowing what needs to be done and figuring out how to do it are two different things. With plenty of very public examples of AppMod failures, it's no wonder leaders can be leery. To move forward with clarity and confidence, IT leaders might consider these seven not-so-secret weapons to increase the odds of success.

  1. Use discovery to shine a light on "black box" architectures

The "black box" nature of legacy apps has been one of the biggest sources of AppMod risk and complexity. A system that initially appears to have 15 interfaces may have 35, or a system one assumes was written only in Cobol could have additional code written in Assembler or other legacy languages.

Don't accept those kinds of surprises as par for the course. There are proven ways to illuminate what's inside an app before deciding whether, how and when to modernize it. In fact, consider a thorough application discovery process that produces a current-state blueprint as an essential prerequisite to any AppMod effort.

  1. Don't get tunnel vision; there's more than one way to modernize

While legacy apps often share some characteristics, it's unwise to apply a one-size-fits-all approach to modernizing them.

A number of options are available for each app -- re-platforming ("lifting and shifting" a system from high-cost hardware to more cloud-ready platforms), remediating (fixing what's broken) and re-architecting (improving interoperability while keeping the underlying business logic), to name a few. Sometimes it makes sense to retire a system, while in other cases it may be wiser to start from scratch and build a new one.

An application discovery exercise will provide important inputs for evaluating options app by app -- and creating a smarter AppMod roadmap.

  1. FITARA: Friend of AppMod

FITARA reviews can provide additional input for identifying and prioritizing AppMod candidates. As the Government Accountability Office recently explained, application rationalization is a critical governance step for compliance with FITARA and other requirements.

"Application rationalization is the process of streamlining the portfolio to improve efficiency, reduce complexity and redundancy, and lower the cost of ownership," GAO noted.

The Office of Management and Budget has made clear that application rationalization will "be a focus of PortfolioStat sessions and required agencies to describe their approach to maturing the IT portfolio ... in the information resource management plans and enterprise roadmaps that are required to be updated annually."

  1. Automated or manual? Try both

Automated tools can bring both efficiency and quality assurance to many modernization activities, including application discovery and language migration. Yet auto-pilot is not a good approach for AppMod. Embrace a hybrid approach that combines automation with thoughtful architectural modeling.

  1. Say yes to a proof of concept

After identifying the right apps to modernize, determining what's inside them -- and how best to update them -- do a proof of concept to test the proposed strategy. It's one of the most effective ways to validate methods for estimating project costs, choosing a vendor and defining the scope. In a matter of weeks, a trial run can demonstrate real progress and, more importantly, reassure that the approach can be moved forward with confidence.

  1. Agile software development reduces risk while accelerating payback

Agile methodologies aren't just for developing new systems. They also provide a great approach to tackling modernization -- whether for re-platforming, remediating, re-architecting or some combination of all of them. Agile breaks modernization work into smaller chunks to quickly produce value and continually improve the results. It can be especially useful when building and testing a proof of concept.

  1. Get to the cloud faster with DevOps

Want to get to the cloud more quickly? Follow the example of the many organizations using DevOps to modernize and migrate legacy systems. Even with mainframe applications, the process doesn't have to be slow and clunky. DevOps and automation can help reduce risk, cost and complexity and can help organizations move faster and be more flexible in responding to customer needs.

As just one example, one federal agency recently used DevOps to support the modernization of a mainframe environment with 3 million lines of COBOL code and 17 distinct applications. It was able to maintain services to millions of users while migrating the environment to a modern Java/Oracle platform.

The bottom line? With AppMod, how you start shapes how you finish. Modernize with confidence by using these seven tactics in concert with the right tools, resources and expertise.