From the U.S. Government Accountability Office, www.gao.gov Transcript for: Agile, Explained: Software Bottlenecks Description: This video looks at some of the bottlenecks to implementing Agile at agencies that aren't already set up for the kind of collaboration needed. Agile is an approach to software development that encourages collaboration across an organization and allows requirements to evolve as a program progresses. Related GAO Works: GAO-20-713SP: Science & Tech Spotlight: Agile Software Development; and GAO-20-590G: Agile Assessment Guide: Best Practices for Agile Adoption and Implementation Released: September 2020 [ Narrator: ] Agile is an approach to software development that encourages collaboration across an organization. This video looks at strategies for implementing Agile at agencies that aren't already set up for the kind of collaboration needed. Collaboration is especially important between the product owners, who set the requirements, and the developers who implement them. If an agency isn't set up to support Agile development, this collaboration can be difficult. Let's talk through two examples of how an agency's structure can slow down the process. If the developers have questions about a requirement after work has started, they need to be able to ask the product owner for clarification. If the development team can't reach the product owner, or isn't allowed to contact the product owner directly, there can be a bottleneck in development. In more complex agency structures, the product owner may not have the ability to make key decisions, such as approving a change to the requirement priorities. In that case, the developers would be unable to work until the appropriate managers give approval to proceed. Agencies can refine their policies and procedures to better support Agile development and further collaboration between the developers and the product owner. One way to free up a product owner is to limit the number of Agile teams the product owner works with. Streamlining agency processes encourages collaboration and allows developers to provide more frequent software deliveries.