Agile is a software development methodology that emphasizes iteration, flexibility and cross-team collaboration.
Agile as a defined development methodology is fairly new. In 2001, a group of 17 software developers calling themselves the Agile Alliance published the Agile Manifesto, which consists of 4 values and 12 principles. Taken together, these documents argue that software development should incorporate numerous opportunities for user feedback, be created by self-organized cross-functional teams, and demonstrate tangible progress every few weeks.
The Agile Ecosystem
Since its inception, several distinct Agile frameworks have been developed and become popular in the tech sector. Two of the most popular of these are Scrum and Lean. An important note is that while these frameworks are often used interchangeably with Agile, they are not the same. Agile is a general set of development principles, Lean and Scrum are specific frameworks for carrying out those principles. While these and other frameworks have important differences in implementation, they all share a number of features, which are:
- Work is completed by a self-organized, cross-functional team.
- Work is completed in 2-4 week intervals, often called sprints.
- There is an emphasis on communication, reflection, and iteration before, during, and after these sprints.
Many organizations that practice agile development incorporate aspects of multiple frameworks. Therefore, those looking for a career in software development, operations, or devops would benefit from familiarizing themselves with a few different strategies.
- Learn more about how to get involved.
- Edit this page on GitHub to fix an error or make an improvement.
- Submit feedback to let us know how we can improve Docs.