In software development, agile (sometimes written Agile)[1] practices include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/end user(s),[2] adaptive planning, evolutionary development, early delivery, continual improvement, and flexible responses to changes in requirements, capacity, and understanding of the problems to be solved.[3][4]

Popularized in the 2001 Manifesto for Agile Software Development,[5] these values and principles were derived from and underpin a broad range of software development frameworks, including Scrum and Kanban.[6][7]

While there is much anecdotal evidence that adopting agile practices and values improves the effectiveness of software professionals, teams and organizations, the empirical evidence is mixed and hard to find.[8][9][10]