Agile has came like a solution to the drawbacks of the waterfall model. Instead of a sequential design process, the Agile methodology follows an incremental approach.
Developers start off with a simplistic project design, and then begin to work on small modules. The work on these modules is done in weekly or monthly sprints, and at the end of each sprint, project priorities are evaluated and tests are run. These sprints allow for bugs to be discovered, and customer feedback to be incorporated into the design before the next sprint is run.
In this process, with its lack of initial design and steps, is often criticized for its collaborative nature that focuses on principles rather than process.