GAO issued a report on best practices and approaches for applying agile software development methods to IT projects, "Effective Practices and Federal Challenges in Applying Agile Methods".
The report identifies 32 practices and approaches as effective for applying Agile software development methods to IT projects. These practices generally align with five key software development project management activities: strategic planning, organizational commitment and collaboration, preparation, execution, and evaluation. GAO says "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 commonly identified parctices are:
Top Ten Effective Practices
- 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.
The report identified 14 challenges with adapting and applying Agile in the federal environment.
14 Key Challenges
- 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.
You can download the report at the here or from the Resources Page.