The hope of any IT investment by government is to improve the operational efficiency and performance to meet public demand. With increasing interactions between citizens and government through technology, limited resources and increased project scrutiny, there is little room for making a poor and ineffective IT investment.
Agile development has subsequently been pursued by many agencies as a technique to develop improved software, avoid multi-year projects and deliver improved services to constituents. The hope through agile development is that software will be developed with an emphasis on close knit collaboration across teams, small iterations on projects to improve functionality. GAO recently announced a report, “Effective Practices and Federal Challenges in Applying Agile Methods,” the report was an interesting read, and provides some great insights on agile software development for the federal government. The report states:
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.
The ten practices are essential to implementing agile in government. Number three, in particular struck me as extremely important, Continuously improve Agile adoption at both the project level and organization level. For anything to work, at any organization, there needs to be buy-in across the entire agency. If senior level management are calling for changes to adopt agile development, but are not engaging in agile themselves, or are having trouble implementing themselves, red flags go up and employees pick up. Changing structures that have may have been institutionalized for decades is by no means an easy task, so actions are important, and setting the right examples. The report also identified 14 challenges to implement agile development. The report states:
“We identified 14 challenges with adapting to and applying Agile in the federal environment based on an analysis of experiences collected from five federal agencies that had applied Agile to a development effort. These challenges relate to significant differences in not only how software is developed but also how projects are managed in an Agile development environment versus a waterfall development environment. We aligned the challenges with four of the project management activities used to organize effective practices: (1) ensuring organizational commitment and collaboration, (2) preparing for Agile, (3) executing development in an Agile environment, and (4) evaluating the product and project. In addition to identifying challenges, federal officials described efforts underway at their agencies to address these challenges.”
As with any one project or program, there are varying solutions, opportunities and resources to explore. Agile development may be another way for organizations to solve some of their most pressing needs. I’d highly encourage agencies to take a look at the report, as it provides a solid overview of agile, and how to potentially implement within your agency.