What is Agile Software Development?
Agile is an incremental approach to software development. The methodology includes repetition, continuous delivery, and feedback cycles known as "sprints". Instead of building the entire product at once, Agile breaks it down into smaller bits/pieces of user functionality.
Agile software development is much more than frameworks like Extreme Programming, Scrum, or Feature-Driven Development (FDD). Agile is a mindset that is informed by the values and principles of the Agile Manifesto, these values and principles guide how to create and respond to change, and how to deal with uncertainty.
Agile is an iterative approach to software development and project management that helps teams deliver value to their customers faster. Agile teams hire in small, but consumable, increments. Requirements, plans, and results are constantly evaluated so that teams have a natural mechanism to respond quickly to change.
Agility is not defined by just a set of tasks or specific development techniques. Rather, it is a set of methodologies that demonstrate a strict feedback cycle and commitment to continuous improvement.