Creating Software Systems that Keep Pace with Aviation ChangeMarch 2017
Topics: Program Development/Management, Project Management, Aviation Administration, Government Acquisition, Government Agency Operations
The nation's aviation environment is changing at an escalating pace. Unmanned aircraft systems—or drones—are proliferating. Commercial space operations are rapidly expanding. And the information technology aboard aircraft becomes more sophisticated with every passing year. The Federal Aviation Administration must create systems that keep pace with these and other changes.
In response, MITRE began working two years ago on a project to help the FAA deploy new technology systems faster. We're helping the agency adopt software development and acquisition processes the commercial sector has used for years—processes known as "agile." A key part of that work was the development of a guide for navigating the transition to an agile approach.
Delivering New Systems in Increments
Like many government agencies, the FAA has long used a lengthy software system development and acquisition process. That process helps ensure that the end product meets the requirements originally specified before the systems are used by air traffic controllers in the operation.
But this development and acquisition process can take five to ten years. The result is that the delivered software system—whether for air traffic control, communication, navigation, surveillance, or some other aviation function—may no longer match the existing need, which has evolved over time. By then it's too late to alter the system much. The work already represents years of research and millions of dollars.
With agile systems development, that approach is turned on its head. Users take part in the development throughout the life cycle. Their involvement can include shaping the requirements for the system to influencing the plans for its design, development, testing, and integration with existing systems and operations.
Rather than building huge, comprehensive systems that take years to develop, the agile approach calls for developing individual capabilities and releasing them to users at least every six months. The system designers then modify or expand the capabilities based on users' feedback and evolving needs.
The Challenge of Becoming "Agile"
But becoming "agile" is no small feat. Agile approaches require a different way of thinking than those that have guided federal government system development and acquisition for decades, so making the switch will take some time.
In 2014, MITRE engineer Avinash Pinto set about developing a guide the FAA could use to begin the shift toward agile acquisition. The goal: help the FAA acquire the systems it needs to maintain the ongoing safety, security, and efficiency of the National Airspace System—but do it faster and more efficiently.
Pinto and his team began by interviewing leaders of the FAA's many internal organizations about their experience of the existing acquisition management system. He wanted to learn what worked, what didn't, and what needed to change moving forward. His team also collected information from across MITRE about how other federal agencies were shifting to an agile approach.
A Guide for Acquisition Management Change
System acquisition at the FAA is a collaborative process involving many of the agency's organizations. So Pinto brought the various organizations' leaders together to build buy-in for the concepts and processes described in the FAA Agile Acquisition Principles and Practices guide before its release on the agency's website on April 1, 2016.
The guide outlines key guiding principles for doing things the agile way. One is that small is better.
"The agile approach," Pinto explains, "is to take the large IT system you're trying to create and break it into smaller chunks. You then get those individual capabilities into the hands of users as quickly as possible so that they can react to those capabilities. With that feedback in hand, you can adapt the capabilities as needed."
The agile process also emphasizes setting priorities. Developers release the most important capabilities first. This prioritization not only supports users' most critical needs but can also be a valuable strategy for accommodating budgetary constraints, should they arise.
Another key tenet is to embrace change. "Operations, technology, budgets, and cyber threats are all going to evolve," Pinto says, "so you design systems and processes that can react to that changing environment."
He also notes that involving users throughout the acquisition life cycle is key. "Users need to be partners with the developers throughout the process. Their regular and frequent involvement enables developers to learn quickly what adaptations are needed, at the same time gaining users' acceptance." Without user buy-in, he notes, the introduction of a new system can be rife with obstacles.
Outlining a Specific "Agile" Plan for the FAA
But the guide goes beyond these generalities about the agile approach. It describes the challenges the different FAA organizations are likely to encounter as they adopt new practices. It recommends specific agile methods for each organization to employ and also suggests how the organizations might divide up roles and responsibilities.
"The guide helps educate each of the different organizations about the agile process and provides a good framework for understanding its implications," Pinto says. "It's been well received across the FAA. The agency submitted the guide to the Office of Management and Budget as evidence of its commitment to adopting agile processes."
The success of the original guide led to the development of a second guide, Agile Program Management Practices for the FAA, released in October. We are now partnering with the FAA's Information Technology Program Management Organization on a pilot program to apply the methods outlined in the guide to test the agile approach in an FAA setting.
And in true agile fashion, findings from this program will help us further refine our guidance to the FAA on taking a more responsive approach to system development and acquisition.
—by Marlis McCollum