Agile software development

Updated: Tue, 17 Mar 2015 by Rad

Agile software development is a group of software development methods in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development, early delivery, continuous improvement, and encourages rapid and flexible response to change.

Scrum - agile software development

Scrum - agile software development by Pictofigo, CC BY-SA 3.0 https://creativecommons.org/licenses/by-sa/3.0, via Wikimedia Commons

Agile is one of the big buzzwords of the IT development industry. Put simply, agile development is a different way of managing IT development teams and projects.

Agile methods all emphasized close collaboration between the programmer team and business experts; face-to-face communication (as more efficient than written documentation); frequent delivery of new deployable business value; tight, self-organizing teams; and ways to craft the code and the team such that the inevitable requirements churn was not a crisis.

Agile Manifesto

In February 2001, 17 software developers (see below) met at the Snowbird resort in Utah to discuss lightweight development methods. They published the Manifesto for Agile Software Development

“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:”

  • Individuals and interactions over Processes and tools
  • Working software over Comprehensive documentation
  • Customer collaboration over Contract negotiation
  • Responding to change over Following a plan

Agile manifesto

Source: Agile Manifesto, by visualpun.ch, flickr, License: Creative Commons

Agile software development - from around the web

< back to glossary