Agile Manifesto, Values, and Guiding Principles
The Agile Manifesto was written by a group of software engineers that formed the Agile Alliance. The document defines the 4 values and 12 principles of Agile development. The authors include:
- Kent Back, co-creator of eXtreme Programming (XP).
- Mike Beedle, co-author of Agile Software Development with Scrum.
- Arie van Bennekum, owner of Integrated Agile.
- Alistair Cockburn, IT strategist and creator of the Crystal Agile Methodology.
- Ward Cunningham, inventor of wiki and first to coin term technical debt.
- Martin Fowler, software practitioner, and partner at Thoughtworks.
- James Grenning, author of Test Driven Development.
- Jim Highsmith, creator of Adaptive Software Development (ASD).
- Andrew Hunt, co-author of The Pragmatic Programmer.
- Ron Jeffries, co-creator of eXtreme Programming (XP).
- Jon Kern who still helps organizations with agile today.
- Brian Marick, computer scientist and author of several books on programming.
- Robert C. Martin, also known as “Uncle Bob,” who consults via Clean Coding
- Steve Mellor, a computer scientist also credited with inventing Object Oriented System Analysis (OOSA).
- Ken Schwaber, co-creator of Scrum with Jeff Sutherland.
- Jeff Sutherland, the inventor, and co-creator of Scrum.
- Dave Thomas, programmer, and co-author of The Pragmatic Programmer
Agile Manifesto
We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to 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.
That is, while there is value in the items on the right, we value the items on the left more.
Agile Values
The value of individuals, working software, customer collaboration, and change distinguish Agile from traditional software development methodologies.
Principles of Agile
The Agile Manifesto also outlines 12 principles for Agile development process. These principles are not an exhaustive list of rules to follow but rather some guidelines that help to define the Agile mindset.
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.