Agile software development describes a set of values and principles for software development under which requirements and solutions evolve through the collaborative effort of self-organizing cross-functional teams. It advocates adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change. [Wikipedia]
According to the Agile Alliance, Agile is:
This is especially important when building software as it is inherently unpredictable. Creating software is a bespoke process and not a commodity skill. Therefore methods that allow quick feedback are vital.
The Agile Manifesto resulted in an agreed set of 4 values and 12 principles between the group, which form the basis of Agile Software Development and are still in common use today.