Agile software development involves different ways of dealing with software development in which requirements and solutions evolve through the collaborative efforts of self-organizing and cross-functional teams and their customer(s) or end user(s). It includes adaptive planning, cutting-edge development, early delivery, and further maintenance, and it encourages rapid and flexible reactions to any changes.
The qualities and standards espoused in this manifesto were derived from and underpin a broad range of software development frameworks, including Scrum and Kanban.