As 17 software practitioners mainly from different technology practices gather together in February 2001 with an agenda to find a better way of delivering software. They did a lot brainstorming over finding those better ways. After a long hour of discussion mostly they reach on a common agreement and those common understandings were mostly on behavioral practices. So they drafted 4 lines on their thought and laid a foundation of further discussion.
These 4 drafted lines became the principles and commonly known as “Agile Manifesto”. But these 4 principles were at very high level. Those 4 principles were:
- Individual and interaction OVER Process and tools
- Working Software OVER Comprehensive documentation
- Customer collaboration OVER Contract negotiation
- Responding to change OVER Following a plan
Now what is more important is : It says while those at right side have values they believe more values those on left. Now let us understand who were there in the group summit.
- Kent Beck
- Mike Beedle
- Arie van Bennekum
- Alistair Cockburn
- Ward Cunningham
- Martin Fowler
- James Grenning
- Jim Highsmith
- Andrew Hunt
- Ron Jeffries
- Jon Kern
- Brian Marick
- Robert C. Martin
- Steve Mellor
- Ken Schwaber
- Jeff Sutherland
- Dave Thomas
However, it also include 12 Sub Principles.
THE TWELVE PRINCIPLES OF AGILE DEVELOPMENT:
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity–the art of maximizing the amount of work not done–is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.