The Agile Manifesto was the public declarations made on 11 February 2001 by 17 of the most visionary software engineers around the subject of the agile software development process. At the time of this meeting, agile software development was a new concept, with many options for developers to choose from. The Agile Manifesto was an effort to get all the bright minds of agile processing together in one place, in an attempt to agree on the basic principles and ideas of all agile process going forward.
Some good examples of the agile development process include extreme programming, scrum, adaptive software development, and the dynamic systems development method (DSDM). Each of these processes attempt to create better methods for the implementation of computer software. The key improvement with all of these methods is that software development should be produced in a manner as to support changes in business requirements and not require processes that close the feedback loop to the customer.
Prior to the creations of the agile development process, all software development was completed in a waterfall method. The term "waterfall" is used for defining the straight work pattern process that requires all requirements up front to be completed and defined with an ending that will include all the functionality defined. Much like a waterfall, there is a clear beginning and end for all systems development. This development process does not allow for changes in requirements to occur prior to the completion of an entire software application.
A public meeting was held at a ski lodge in Snowbird, Utah, under the coordination of Robert Martin. The list of attendees includes Kent Beck, Dave Tomas, Mike Beedle, Jeff Sutherland, Arie van Bennekum, Ken Schwaber, Alistiar Cockburn, Steve Mellor, Ward Cunningham, Robert C. Martin, Martin Fowler, Brian Marick, James Grenning, John Kern, Jim Highsmith, Ron Jeffries, and Andrew Hunt. While all of these individuals were supports of agile, lightweight development methodologies, each had his own preference on how to implement the methodology.
Four key values were defined and agreed to by the signatory parties of the Agile Manifesto. The first was to put value on individuals and interactions over tools and process. Secondly, software that worked was valued over comprehensive documents. Collaboration with the customer was considered more important than constraint negotiations. Finally, the group pledged to value responding to changes over following a plan.
The essence of this team and the Agile Manifesto was to create a development environment process that understood the importance of the customer. This could be done, they believed, by collaborating openly and continually with the customer. Communication would help ensure the work being done would actually produce business value, and allow for feedback from the customer.
In addition to the key values, the Agile Manifesto also include several key principles which reinforced the belief that customer engagement early and often provides for better overall software applications. By creating an iterative software process, the customer has the ability to tweak the final product by allowing for changes in requirements. The perception of the application is better because a working system is a primary measure of the progress being done on the system.