An iterative approach to project management and software development that uses incremental delivery, team collaboration, continual planning, and continual learning to deliver solutions. Based on the 2001 Manifesto for Agile Software Development, it promotes lean processes that focus on the construction of smaller sets of features and capabilities of a system that are reviewed with stakeholders at regular intervals. This shorter cycle of development and review facilitates a rapid response to change as priorities shift or new needs are identified.
Agile teams typically operate in sprints, short 2-3 week intervals in which a discrete set of features, called stories, are developed. An agile team meets daily for a short 15-minute checkpoint, called a stand up, to assess progress against stories, the completed results of which are demoed to project stakeholders at an end-of-sprint review.