From the U.S. Government Accountability Office, www.gao.gov

Transcript for: Agile, Explained: Continuous Integration

Description: This video explores continuous integration, a key workflow
process in Agile development intended to minimize the time and effort
needed to integrate new code from multiple developers. 

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 explores a
key workflow process in Agile development known as continuous
integration. Continuous integration is intended to minimize the time and
effort needed to integrate new code form multiple developers. Here's how
it works. As different team members develop features for a software
program, they test them against the most current version of the entire
program, known as the build. If the developer's new code passes the
test, it is integrated into the build. If the new code fails, it's the
developer's responsibility to fix the code until it passes. You can see
how this might be useful when there are a lot of different developers
working on different parts of the same program. Instead of merging
everything at once at the end, and hoping it all works together, the
team is continuously merging and testing new code. This process is
automated to help developers react in real time to updates and to
provide version control for the final product. This is especially
important as the build expands and the code becomes more complex.
Continuous integration reduces risk and allows developers catch bugs
more quickly, helping them deliver a product with few defects at any
point in development.