Aerospace contractors are increasingly turning to agile software development, which strives for early and frequent deliveries of software iterations, with incremental improvements as the project evolves. This contrasts with the traditional approach, which delivers working software infrequently, late in the lifecycle, and often after a lengthy test-and-fix phase. Agile development patterns itself after AF Col John Boyd's "observe-orient-decide-act" loop; it progresses through ongoing cycles of observing a need, implementing a solution, and testing and delivering it.
While the agile philosophy derives from certain fundamental tenets, the basic approach can be adapted to suit individual program needs. The benefits for mission assurance become evident as the government customer gets to try out each software release and provide feedback to enhance future development, ensuring that the final product will meet operational requirements.
Still, not all programs are a good fit for agile software development. System characteristics may preclude the decomposition of program capabilities into incremental deliveries. The government may lack contractual flexibility to redefine scope to meet the time-constrained deliveries or to slip schedule to maintain quality goals. The contractor may not have the management commitment, core software development capabilities, or culture needed to successfully implement agile processes.
Aerospace recently published a report1 to help program offices navigate this new agile landscape. It discusses when agile software development is appropriate, how to transition to agile processes, which contract vehicles work best, and how to tailor the RFP and evaluate contractor responses. The goal is to ensure the maximum benefit of agile processes for those programs that can apply them.
This story appeared in the December 2018 issue of Getting It Right, Collaborating for Mission Success.