Agile Methodology is term mostly used in software development technique. It is method which follows some guidelines for the development of software product which makes it easy to manage and maintain the development phases.
Software cannot be developed as other products it needs constant modifications when the interactive and dependencies increase in creation steps. You have to test how each module works for all the possible. Input test cases as well as how it binds and react with its neighbor elements and functions.
In SDLC generally there is huge gap between the client and developer with respect to time and development which can lead to unwanted results for both. To solve this agile methodology suggests there should always be a executable deploy for each products over a short intervals of SDLC. The requirement gathering can be throughout the life cycle for a better client understanding and right development approach. This gives developer satisfaction that he is going onto the right path.
Agile methodology suggests rapid deployable product cycles throughout product development. The deploy is incremental as well as more and more close to client requirements.
Agile methodology is time and cost efficient as it helps for better resource planning and resource development. It completely guarantee the customer satisfaction and late changes are always welcome.
It is easy to map the disturbance and defects in your software as you have working copy for individual modules. It overcomes all drawbacks of waterfall model for a dynamic development.