The Agile Manifesto, which was developed in 2001 by 17 software developers, introduced the Agile approach to software development. Alongside the manifesto’s four core values, 12 guiding principles were established to support the implementation of the Agile philosophy. Here are the 12 Agile principles:
- Customer Satisfaction through Continuous Delivery: Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale.
- Welcome Changing Requirements: Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
- Deliver Working Software Frequently: A cornerstone of the Agile approach is to consistently deliver small, incremental improvements to the software. This not only provides value faster but also ensures the software is regularly tested and refined.
- Collaboration Between Business People and Developers: 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.
- Face-to-Face Conversation: The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working Software as the Primary Measure of Progress: Agile prioritizes the delivery of working software over extensive documentation or other deliverables.
- Sustainable Development: Agile teams should maintain a consistent pace of work, avoiding burnout and ensuring long-term sustainability.
- Technical Excellence and Good Design: Continuous attention to technical excellence and good design enhances agility.
- Simplicity: The art of maximizing the amount of work not done is essential. This principle underscores the importance of focusing on value-driven features and avoiding unnecessary complexity.
- Self-Organizing Teams: The best architectures, requirements, and designs emerge from self-organizing teams. Agile teams are empowered to make decisions, allowing them to adapt quickly to change.
- Regular Reflection and Adjustment: At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
These principles serve as guidelines for Agile teams, promoting adaptability, customer collaboration, and consistent value delivery.