freeCodeCamp/mock-guide/english/agile/index.md

1.7 KiB

title
Agile

Agile

Agile software development is a collection of methodologies used to manage teams of developers. It advocates adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change. People and communication are considered more important than tools and processes.

Agile emphasizes asking end users what they want, and frequently showing them demos of the product as it is developed. This stands in contrast to the "Waterfall" approach, specification-driven development, and what Agile practitioners call "Big Up-Front Design." In these approaches, the features are planned out and budgeted before development starts.

With Agile, the emphasis is on "agility" - being able to quickly respond to feedback from users and other changing circumstances.

A comic from Commitstrip.com showing a product manager explaining to a developer that they are switching to agile, but then asking the developer to plan everything up front

The agile software development places its emphasis on four core values.

  1. Preference on team and individual interactions over tools and processes.
  2. A working software over exhaustive documentation.
  3. Collaboration with customer is given more importance than contract negotiations.
  4. Response to changes over following a plan.

There are many different flavors of agile, including Scrum and Extreme Programming.

Various methods present in Agile testing or Agile Testing Methodologies

More information

Agile Alliance's Homepage