Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams.
Agile methods or Agile processes generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices intended to allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals.
Agile development refers to any development process that is aligned with the concepts of the Agile Manifesto. The Manifesto was developed by a group fourteen leading figures in the software industry, and reflects their experience of what approaches do and do not work for software development.
Advantages of Agile Model:
1) Customer satisfaction by rapid, continuous delivery of useful software.
2) People and interactions are emphasized rather than process and tools. Customers, developers and testers constantly interact with each other.
3) Working software is delivered frequently (weeks rather than months).
4) Face-to-face conversation is the best form of communication.
5) Close, daily cooperation between business people and developers.
6) Continuous attention to technical excellence and good design.
7) Regular adaptation to changing circumstances.