Agile Manifesto is a popular software development method. In February 2001, 17 Software developers met at the Snowbird, Utah resort, to discuss about Software development method. Finally they published the light weight development methods. That is called Agile Software development. Some of the manifesto’s authors formed The Agile Alliance, a non-profit organization that promotes software development according to the values of agile manifesto.
The four core values of Agile software development as started by the Agile Manifesto are as below:
Individuals and interactions over processes and tools:
Individuals and interactions are essential to high–performing teams. In such a team no communication problems exist. Teams can perform 100 times better than the industry average.
Working software over comprehensive documentation:
Working software is one of the big differences that agile development brings. All agile teams must establish what they mean when they say “working software,” which is frequently known as the definition of done. At a high level, a piece of functionality is complete only when its features pass all tests and can be operated by an end user. At a minimum, teams must go beyond the unit test level and test at the system level. The best teams also include integration testing, performance testing, and customer acceptance testing in their definition of what it means to be done with a piece of functionality.
Customer collaboration over contract negotiation:
Only the customer can tell what they want. The product owner is responsible for updating the list of requirements every four weeks as the team releases working software, taking into account the current reality and actual feedback from customers and stakeholders. Customers should actively help to shape the software that is being created. Successful developers work closely with their customers; they invest the effort to discover what their customers need, and they educate their customers along the way.
Responding to change over following a plan:
Agile development is focused on quick responses to change and continuous development. Agile methodologies seek customer feedback throughout the project so that teams can incorporate feedback and new information as the product is being developed. All agile methodologies have built-in processes to change their plans at regular intervals based on feedback from the customer or customer proxy.
The Agile Manifesto is based on twelve principles:
- Customer satisfaction by rapid delivery of useful software
- Welcome changing requirements, even late in development
- Working software is delivered frequently (weeks rather than months)
- Close, daily cooperation between business people and developers
- Projects are built around motivated individuals, who should be trusted
- Face-to-face conversation is the best form of communication (co-location)
- Working software is the principal measure of progress
- Sustainable development, able to maintain a constant pace
- Continuous attention to technical excellence and good design
- Simplicity—the art of maximizing the amount of work not done—is essential
- Self-organizing teams
- Regular adaptation to changing circumstances
Finally the whole purpose of the Agile Manifesto is to deliver better software and also a satisfied end-user.