The Agile methodology was created to compensate the lack of adaptability to change of the engineering method.
With the classic approach, design and modeling phases produces the documentation on which the software is developed and tested.
This process, borrowed from industrial production and housing construction, is often not adequate for software development, because frequently the problems to be solved and the methods chosen do change rapidly, being related to the business.
The Agile approach is a method capable of adapting to changes in plans and specifications.
The goal is the complete customer satisfaction, in order to achieve this result, projects are developed in subsequent iterations.
For each iteration a new version of the software with an increasing number of features is released.
In this way the customer can actively participate in the developing process being able to test the software in any phase, also to propose changes and improvements.