Agile Manifesto, Values & Principles
Agile Methodology: Manifesto, Values & Principles The Agile Manifesto (2001) was written by 17 software practitioners as a reaction to heavyweight, documentatio…
Agile Methodology: Manifesto, Values & Principles
The Agile Manifesto (2001) was written by 17 software practitioners as a reaction to heavyweight, documentation-driven methodologies like Waterfall. It defines a set of values and 12 principles for iterative, customer-focused software development.
Four Agile Values
We 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
"While there is value in the items on the right, we value the items on the left more."12 Agile Principles
Customer satisfaction through early and continuous delivery of valuable software
Welcome changing requirements, even late in development. Agile processes harness change for competitive advantage.
Deliver working software frequently — weeks rather than months. Prefer shorter timescales.
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.
The most efficient way to convey information is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development. Sponsors, developers, and users should 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 and adjusts accordingly.
Agile vs Waterfall
Waterfall: Agile:
Sequential phases Iterative cycles (sprints)
Requirements frozen upfront Requirements evolve
Deliver at the end Deliver incrementally
Change is a problem Change is expected
Big design upfront Emergent design
Works well when: Works well when:
- Requirements are stable - Requirements uncertain
- Regulatory compliance - Innovation / exploration
- Physical systems - Most software products
- Construction, manufacturingCommon Agile Misconceptions
"No documentation" — Agile values working software OVER comprehensive docs, not zero docs. Write what adds value.
"No planning" — Agile plans continuously at multiple horizons (sprint, release, quarter), just not all upfront.
"No deadlines" — fixed-date releases are common. Agile adjusts scope to meet dates rather than extending dates.
"Self-organizing means no management" — teams self-organize around the work, but still need leadership and facilitation.
"Agile means fast with no quality" — XP practices (TDD, CI, pair programming) explicitly address quality.