Agile is an iterative approach to software delivery, building solutions from the onset of a project rather than trying to deliver it near the end. The use of this methodology is built on the need for flexibility and adaptation to changing requirements. It is a response to the reality of building modern technology solutions, software, and processes. As nothing stays static in today's business climate, the way systems are developed had to change.
Agile is a departure from the traditional waterfall development practice defined by linear and sequential order. A solution in a waterfall project cannot move forward until the previous step is completed. Once that step is complete, there is no going back to fix or change it - even if business needs require a change. In contrast, Agile-led projects are focused on delivery of smaller pieces of the solution with the understanding that failure is ok and an inevitable part of the process. Since all of the pieces of an application are not as dependent on one another, failure in one area will not break the whole system as it would in a waterfall process.
The adoption of Agile in government has been slow but steady. There are both cultural and procedural barriers to wide adoption of Agile. Procurements must be written differently to enable an Agile approach, and people working on the projects have to be willing to shift their thinking and workflows to accommodate the Agile process. Agencies, tired of long development cycles that result in technology that is out of date by the time it launches, have begun trying out Agile approaches and finding great success. Localities can quickly roll out digital solutions to citizens, systems become more secure, and agencies can meet cloud migration mandates and goals.