Skip to main content

Agile Development

The contractor shall use agile management best practices (e.g., story-point estimation, velocity measurement) for estimating, planning, managing risk, and communicating status, to enable the effective management of the project team, along with user and product-owner expectations as to what will be done and by when. The process should also enable immediate course corrections when the team isn’t performing at the highest levels possible, or if project priorities shift; and maximize the likelihood of overall project success in terms of cost, schedule, quality, and value. The contractor and product owner shall define and adopt user-acceptance criteria for user stories.

Although the practices of agile software development has many flavors (e.g., Scrum, SAFe, XP, Kanban), the core principles of agile software are described in the Agile Manifesto. From a deliverable standpoint, the two key principles are to prioritize: (1) “Working software over comprehensive documentation” and (2) “Responding to change over following a plan.” As such, when the government prepares a contract solicitation for agile software development, the deliverables should almost always be “working software” delivered on a quick and regular basis.

Often, agile software development is contrasted with “waterfall” processes. Waterfall involves a phased approach to software development where requirements gathering, analysis, design, development, testing, and user acceptance are broken out into discrete phases. In other words, in waterfall, design should not occur before all requirements are gathered, and development should not occur until design is completed.

Unlike waterfall, agile generally requires that all of these phases occur within shorter cycles, commonly referred to as “sprints”. In other words, as development occurs, new requirements are gathered, new designs will emerge, etc. Similarly, testing will occur throughout the process.

Within the US government, the TechFAR is the leading source on explaining how agile software development can be harmonized with the Federal Acquisition Regulations.