The Agile Manifesto
Jump to navigation
Jump to search
A The Agile Manifesto is a software development manifesto published in 2001.
- AKA: Manifesto for Agile Software Development, Agile Principles, Agile Values.
- Context:
- It can typically prioritize Individuals and Interactions over processes and tools.
- It can typically value Working Software over comprehensive documentation.
- It can typically emphasize Customer Collaboration over contract negotiation.
- It can typically favor Responding to Change over following a plan.
- It can often guide Methodologies including Scrum, Kanban, and Extreme Programming.
- It can often influence Software Teams toward iterative development and continuous delivery.
- It can often support Twelve Agile Principles that elaborate the four values.
- It can range from being a Pure Agile Implementation to being a Hybrid Agile Implementation, depending on its adoption level.
- It can range from being a Team-Level Agile to being an Enterprise Agile, depending on its organizational scope.
- It can range from being a Strict Agile Interpretation to being a Flexible Agile Interpretation, depending on its application approach.
- It can range from being a Software Agile Practice to being a General Agile Practice, depending on its domain application.
- ...
- Example(s):
- Agile Manifesto 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.
- Agile Principles (selected):
- "Our highest priority is to satisfy the customer through early and continuous delivery."
- "Welcome changing requirements, even late in development."
- "Deliver working software frequently."
- Agile Methodology Implementations:
- Scrum Framework with sprints and ceremonies.
- Extreme Programming with pair programming.
- Kanban Method with visual workflow.
- ...
- Agile Manifesto Values:
- Counter-Example(s):
- Waterfall Methodology, which follows sequential phases rather than iterations.
- Traditional Project Management, which emphasizes planning over adaptation.
- Zen of Python, which focuses on code design rather than development process.
- See: Software Development Philosophy, Agile Methodology, Scrum, Software Development Process, Zen of Python, Unix Philosophy, Project Management, Kanban (Development), Self-Organizing Communities, Cross-Functional Team, Customer, End User, Continual Improvement Process, The Agile Manifesto.
References
2019b
- (Wikipedia, 2019) ⇒ https://en.wikipedia.org/wiki/Agile_software_development#Agile_software_development_values Retrieved:2019-4-27.
Based on their combined experience of developing software and helping others do that, the seventeen signatories to the manifesto proclaimed that they value:
That is to say, the items on the left are valued more than the items on the right.
As Scott Ambler elucidated:[1]
- Tools and processes are important, but it is more important to have competent people working together effectively.
- Good documentation is useful in helping people to understand how the software is built and how to use it, but the main point of development is to create software, not documentation.
- A contract is important but is no substitute for working closely with customers to discover what they need.
- A project plan is important, but it must not be too rigid to accommodate changes in technology or the environment, stakeholders' priorities, and people's understanding of the problem and its solution.
Some of the authors formed the Agile Alliance, a non-profit organization that promotes software development according to the manifesto's values and principles. Introducing the manifesto on behalf of the Agile Alliance, Jim Highsmith said, Template:Quote
- ↑ "Examining the Agile Manifesto". Ambysoft Inc.. http://www.ambysoft.com/essays/agileManifesto.html. Retrieved 6 April 2011.
References
2019a
- (Wikipedia, 2019) ⇒ https://en.wikipedia.org/wiki/Agile_software_development#Agile_software_development_principles Retrieved:2019-4-27.
The Manifesto for Agile Software Development is based on twelve principles:[1]
- Customer satisfaction by early and continuous delivery of valuable software.
- Welcome changing requirements, even in late development.
- Deliver working software frequently (weeks rather than months)
- Close, daily cooperation between business people and developers
- Projects are built around motivated individuals, who should be trusted
- Face-to-face conversation is the best form of communication (co-location)
- Working software is the primary measure of progress
- Sustainable development, able to maintain a constant pace
- Continuous attention to technical excellence and good design
- Simplicity—the art of maximizing the amount of work Template:Not a typo done—is essential
- Best architectures, requirements, and designs emerge from self-organizing teams
- Regularly, the team reflects on how to become more effective, and adjusts accordingly
- ↑ Kent Beck; James Grenning; Robert C. Martin; Mike Beedle; Jim Highsmith; Steve Mellor; Arie van Bennekum; Andrew Hunt et al. (2001). "Principles behind the Agile Manifesto". Agile Alliance. Archived from the original on 14 June 2010. http://www.agilemanifesto.org/principles.html. Retrieved 6 June 2010.