The Agile Manifesto was written in 2001 by seventeen independent-minded software practitioners. While the participants didn’t often agree, they did find consensus around four core values. The purpose is to give a new way of developing software “by doing it and helping others do it”.
Agile Core Values
- Individuals and Interactions over Processes and Tools.
- Working Software over Comprehensive Documentation.
- Customer Collaboration over Contract Negotiation.
- Responding to Change over Following a Plan.
Note the keyword over in all these statements. Manifesto is not suggesting to replace the items in right with left rather it stress upon prioritizing left items over right.
Agile Principles
The Manifesto for Agile Software Development is based on twelve principles:
- Our highest priority is to satisfy the customer through early and continuous delivery of valuable software (Customer satisfaction).
- Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage (Change requirements, even in late development).
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale (Delivery in weeks rather than months).
- Business people and developers must work together daily throughout the project (Business and Developers close daily collaboration).
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done (Motivated individuals).
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation (co-location).
- Working software is the primary measure of progress (Measurement of progress).
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely (Sustainable development & maintain a constant pace).
- Continuous attention to technical excellence and good design enhances agility (Strive for technical excellence and good design).
- Simplicity—the art of maximizing the amount of work not done—is essential (keep it simple and straightforward – KISS).
- Best architectures, requirements, and designs emerge from self-organizing teams (Self organization).
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly (Inspect & Adapt).