The Agile Manifesto forms the basis for all agile methods and describes the core values and principles that define agile working. It was written in 2001 by a group of experienced software developers and has since established itself as the guiding principle for agile software development.
Agile Manifesto core values
- Individuals and Interactions over Processes and Tools: This value emphasizes the importance of people and their collaboration. Agile methods rely on direct communication and collaboration to find flexible and creative solutions.
- Working Software over Comprehensive Documentation: The focus is on delivering working software that brings real benefits to the customer, rather than creating extensive documentation that is often out of date.
- Collaboration with the customer via contract negotiations (Customer Collaboration over Contract Negotiation): Agile methods promote close and continuous collaboration with the customer in order to better understand their needs and requirements and to be able to respond flexibly.
- Responding to Change over Following a Plan: Change is seen as an opportunity to improve the product. Agile teams are willing to adapt their plans to respond to new insights and changing requirements.
Agile Manifesto Principles
The Agile Manifesto contains twelve principles that further substantiate the core values and support the agile development process.
-
Customer Satisfaction through Early and Continuous Delivery of Valuable Software
Agile teams regularly deliver functional software to ensure continuous feedback and high customer satisfaction. -
Welcome Changing Requirements, Even Late in Development
Changes to requirements are seen as an opportunity to better serve the customer and improve the product. -
Frequent delivery of working software (Deliver Working Software Frequently)
Working software is delivered at short, regular intervals, typically every few weeks or months. -
Close, daily collaboration between business experts and developers (Business People and Developers Must Work Together Daily Throughout the Project)
Close collaboration and daily communication between developers and business experts are essential for the success of the project. -
Build Projects Around Motivated Individuals
Agile projects rely on motivated and capable team members working in a supportive environment. -
Prefer direct communication (Face-to-Face Conversation is the Best Form of Communication)
Direct, personal communication is the most effective way of conveying information within a team. -
Working Software is the Primary Measure of Progress
The progress of a project is measured by the amount of working software, not by the amount of documentation produced. -
Promote sustainable development (Agile Processes Promote Sustainable Development)
Agile methods promote a consistent and sustainable way of working that allows the development team to remain productive in the long term. -
Continuous Attention to Technical Excellence and Good Design Enhances Agility
Technical excellence and good design are crucial to remaining flexible and responsive. -
Simplicity – the Art of Maximizing the Amount of Work Not Done – is Essential
The art of maximizing the amount of work not done is a central aspect of agile development. Care is taken to do only what is necessary to fulfill the requirements. -
The Best Architectures, Requirements, and Designs Emerge from Self-Organizing Teams
Self-organizing teams are able to develop the best solutions because they have the freedom and responsibility to make their own decisions. -
Regular reflection to increase efficiency (At Regular Intervals, the Team Reflects on How to Become More Effective, Then Tunes and Adjusts Its Behavior Accordingly)
Teams regularly reflect on their working methods and continuously adjust them in order to become more efficient and constantly improve.
These values and principles form the basis for agile software development and help teams to work flexibly, customer-oriented and efficiently.