Agile methods are a family of development processes, not a single approach to software development. The Agile Manifesto states:
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions |
over processes and tools |
Working software |
over comprehensive documentation |
Customer collaboration |
over contract negotiation |
Responding to change |
over following a plan |
That is, while there is value in the items on the right, we value the items on the left more.
Some of the principles behind the Agile Manifesto are:
- Customer satisfaction by rapid, continuous delivery of useful software
- Working software is delivered frequently (days or weeks rather than months)
- Working software is the principal measure of progress
- Even late changes in requirements are welcomed
- Close, daily cooperation between business people and developers
- Daily conversation is the best form of communication (co-location)
- Projects are built around motivated individuals, who should be trusted
- Continuous attention to technical excellence and good design
- Simplicity
- Self-organizing teams
- Regular adaptation to changing circumstances
Source: Wikipidia