The 12 Agile principles
User satisfaction
Satisfy the customer through early and continuous delivery of valuable software.
Welcoming change
Accept and integrate changes, even in advanced stages of development, to ensure a competitive advantage for the customer.
Frequent delivery
Frequent delivery of working software (preferably within short timeframes, days, or weeks).
Continuous collaboration
Business and developers must work together daily throughout the project.
Motivated people support
Build projects around motivated individuals, providing them with the support, tools, and autonomy to get the job done.
Face to face communication
The most effective method of conveying information within a team is direct conversation.
Working software
Progress is measured through working software.
Agile focuses on operational and customer-usable functionality as an indicator of progress.
Avoid false perceptions of progress (e.g., only code developed but not tested or integrated).
Keep a steady pace
Agile promotes sustainable development, where sponsors, developers, and users can maintain a constant pace indefinitely.
Excessive pace leads to burnout, reducing quality and morale.
Realistic goals ensure consistent, high-quality productivity.
Technical excellence
Continuous attention to technical excellence and good design improves agility.
Avoid shortcuts that can cause errors or require additional work in the future.
Design and technical quality are key to ensuring long-term success.
Simplicity
Focus only on activities that add value.
Avoid unnecessary complexity.
Simplicity improves efficiency and value, working smarter.
The art of maximizing undone work is essential.
Self-organized teams
The best requirements and designs emerge from self-organizing teams.
Autonomous and motivated teams produce better solutions.
Agile promotes horizontal management, promoting autonomy and collective ownership.
This approach speeds up decisions and increases effectiveness.
Reflect and Adapt
The team reflects regularly to become more effective and adapts its behavior accordingly.
Continuously reviewing processes and priorities improves flexibility and efficiency.
Analyzing situations such as Bill’s unmet expectations can improve management of future requirements.