5 Tips for Doing Agile on Legacy Systems

There are billions of dollars’ worth of hardware and software in use across government that are either obsolete or on the verge of no longer being supported by vendors. Think software patches, maintenance, replacement parts and other upgrades.

And these aren’t run-of-the-mill systems we’re talking about. These are critical systems that are essential to government operations, such as emergency management, health care and wartime readiness. “These legacy systems range from about 8 to 51 years old and, collectively, cost approximately $337 million annually to operate and maintain,” according to a June 2019 Government Accountability Office report that reviewed the 10 most critical systems in need of modernization across government.

But in this era of Agile, DevOps and better user experiences for new projects, where do legacy systems fit into the conversation? Ripping and replacing these systems isn’t always feasible — or cost-effective — and there is no room for error or downtime. So how do agencies thoughtfully and securely approach modernization without disrupting critical business?

That was the topic of discussion during the Nov. 7 AGL Summit East 2019 in Washington, D.C. The lineup of procurement, software and digital services professionals from across government and industry joined in a candid conversation about modernizing legacy systems. Here are five takeaways from that discussion.

1. Find a way to do discovery.

Legacy systems are those that have an old code base and cannot be quickly maintained, said Alberto Colon-Viera with U.S. Digital Service. There isn’t much transparency around how they work, and there is a lot of interwoven functionality that agencies don’t fully understand. “You don’t know what you don’t know,” when it comes to these systems, Colon-Viera said.

Agile provides agencies with a path to start doing discovery and to look at the problems from a different lens. Using Agile, they can take an iterative, incremental and highly interactive approach to understanding their IT systems and then deciding how best to modernize in small chunks.

2. Take it slow.

Ashley Owens, Director of Acquisition for 18F, encouraged attendees to approach the modernization of legacy systems in a human-centered way. For internal end users, think of it like a breakup of sorts. “You’ve been with this system a long time,” Owens said. “You’ve been together for like 20 years.”

Deciding how this breakup should happen is key. But spoiler alert: It should happen slowly, Owens said. Start off slowly and ask the right questions, including what should be built versus bought and what’s the impact on end users.

3. Have clear outcomes.

Everett Harper, CEO and Founder of Truss, explained that legacy systems are often Frankensteins of multiple systems that have survived mergers and reorganizations.

When it comes to these systems, the mindset is often on maintaining, rather than the ability of the system to deliver. Agile is a tool for getting everyone in the same room and on the same page to discuss and define what an outcome actually looks like. Truss is focused on transforming the way teams design, build and scale software. Harper

Adrien Abrams, Founder of independent services procurement provider Beeline Strategy, calls this the ceremony of truth and reconciliation. It’s time to admit that previous conversations around those annual and five-year plans were fabricated, Abrams said of organizations. “If you ask me what I’m going to do with your $150 million over 18 months, I have no idea,” he continued. “That becomes core to getting people to take on that cultural change.” Agencies must determine what the path forward looks like and how to measure progress.

4. Invest in cross-functional teams.

The cross-functional teams of Agile are very important. You need all the pieces, and you need them working together, Owens said. Although you have your contracting professionals who can write contracts, the harder part is working closely with the product person to identify low-hanging fruit, determine what can be turned off on the system and when you can begin to break the system down. The product person also knows how fast something new can be turned on, which should be central to the acquisition process. Agile empowers agencies to look at acquisition in a different way — both incrementally and holistically.

You should take outputs from that discussion with the product expert to determine what part of the acquisition needs to happen when. You also need engineers to be a part of that conversation and provide input on the infrastructure — where that software will live. You then need UX professionals to represent the internal and external end users. “Blending all of those things in that Agile continuum often to slowly figure out how can you modernize in the least disruptive way” is key, Owens said.

5. Empower and build trust across teams

Doing Agile on legacy systems requires a shift in mindset for government, Owens said. This involves agencies assuming their roles as empowered product owners and understands their systems and how they work.

“The entire agency isn’t going to wake up and be Agile,” she said. The more successful Agile projects there are, the more the appetite for Agile will grow.

Abrams’ advice: As you look to bring users into the room, help people develop a comfort that you are going to meet regulatory mandates. Ultimately, hearing less about government IT projects’ failure will be a sign that Agile is working.

Leave a Comment


Leave a Reply

Avatar photo Blake Martin

I love the breakup simile and think its such an apt comparison for getting rid of legacy systems. It took just as long for that system to become “legacy” so naturally it should also take awhile to get into a new more agile way of life. Great piece Nicole – I’m glad you were at the AGL Summit East to break this topic down for us.

Avatar photo Nicole Blake Johnson

Agreed. It was a very informative event, and I learned a lot. The breakup example was great! It’s always nice when tech can be described in terms we all understand.