Conventional software development approaches, such as waterfall, are based on a model where requirements and solutions are developed separately and only the "finished" solution is presented. It is the "finished" solution that is then tested and put into operation. While this approach works, it is not suitable for rapid software development. This is because it assumes that the requirements are well defined and that they are stable. However, this is rarely the case.
The agile approach to software development enables your team to respond quickly to business changes by iteratively creating, testing, and releasing functional increments. The process is designed to enable your development team to respond quickly to changes in requirements and business strategy.
In agile development, software is developed in short, frequent, iterative cycles where only the parts of the system required for the current iteration are completed and developed. These shorter iterations are much better suited for developing rapid prototypes in today's rapidly changing environment.