What GAO Found
GAO identified 32 practices and approaches as effective for applying Agile software development methods to IT projects. The practices generally align with five key software development project management activities: strategic planning, organizational commitment and collaboration, preparation, execution, and evaluation. Officials who have used Agile methods on federal projects generally agreed that these practices are effective. Specifically, each practice was used and found effective by officials from at least one agency, and ten practices were used and found effective by officials from all five agencies. The ten practices are:
- Start with Agile guidance and an Agile adoption strategy.
- Enhance migration to Agile concepts using Agile terms, such as user stories (used to convey requirements), and Agile examples, such as demonstrating how to write a user story.
- Continuously improve Agile adoption at both the project level and organization level.
- Seek to identify and address impediments at the organization and project levels.
- Obtain stakeholder/customer feedback frequently.
- Empower small, cross-functional teams.
- Include requirements related to security and progress monitoring in your queue of unfinished work (the backlog).
- Gain trust by demonstrating value at the end of each iteration.
- Track progress using tools and metrics.
- Track progress daily and visibly.
GAO identified 14 challenges with adapting and applying Agile in the federal environment:
Teams had difficulty collaborating closely.
Procurement practices may not support Agile projects.
Teams had difficulty transitioning to self-directed work.
Customers did not trust iterative solutions.
Staff had difficulty committing to more timely and frequent input.
Teams had difficulty managing iterative requirements.
Agencies had trouble committing staff.
Compliance reviews were difficult to execute within an iteration time frame.
Timely adoption of new tools was difficult.
Federal reporting practices do not align with Agile.
Technical environments were difficult to establish and maintain.
Traditional artifact reviews do not align with Agile.
Agile guidance was not clear.
Traditional status tracking does not align with Agile.
Finally, officials described efforts to address challenges by clarifying previously unclear guidance on using Agile. In a related effort, the Federal Chief Information Officers (CIO) Council is developing guidance on modular development in the federal government, but it does not specifically address effective practices for Agile.
Why GAO Did This Study
Federal agencies depend on IT to support their missions and spent at least $76 billion on IT in fiscal year 2011. However, long-standing congressional interest has contributed to the identification of numerous examples of lengthy IT projects that incurred cost overruns and schedule delays while contributing little to mission-related outcomes. To reduce the risk of such problems, the Office of Management and Budget (OMB) recommends modular software delivery consistent with an approach known as Agile, which calls for producing software in small, short increments. Recently, several agencies have applied Agile practices to their software projects.
Accordingly, GAO was asked to identify (1) effective practices in applying Agile for software development solutions and (2) federal challenges in implementing Agile development techniques. To do so, GAO identified and interviewed ten experienced users and officials from five federal projects that used Agile methods and analyzed and categorized their responses.
GAO is recommending that the Federal CIO Council, working with its chair, OMBs Deputy Director for Management, include practices such as those discussed in this report in the Councils ongoing effort to promote modular development. After reviewing a draft of this report, OMB commented that the recommendation was better addressed to the Council than to its chair. GAO revised the recommendation to address it to the Council working with its chair.
Recommendations for Executive Action
|Chief Information Officers Council||1. To ensure that the experiences of those who have used Agile development are shared broadly, the Federal CIO Council, working with its chair, the Office of Management and Budget's Deputy Director for Management, should include practices such as those discussed in this report in the Council's ongoing effort to promote modular development in the federal government.|