What is Agile Software Development?
Agile software development is a framework for building software that heavily promotes iterations throughout the entire lifecycle of the project. Although there isn’t a single method or methodology, each one uses iterations (often called sprints) that typically last anywhere between a week to four weeks to define, build and release a set of functionalities. Agile teams are comprised of stakeholders across the delivery and consumption organizations and prefer to use face-to-face communication rather than classic documents. The Agile family of methodologies is often contrasted with the waterfall methodology. While waterfall is a very common and highly predictable way to deliver software, it’s criticized for its rigidity and low tolerance for change during the lifecycle. Since Agile relies on frequent iterations, it is much easier to improve or add further functionally throughout. There is no such thing as a single Agile methodology. Many exist such as Scrum, Extreme Programming, DSDM, FDD