Agile Principles¶
The twelve principles behind the Agile Manifesto. They are the bridge between the four abstract values and the concrete practices of Scrum, XP and DSDM.
Delivery¶
- 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.
Collaboration¶
- 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.
Progress and pace¶
- 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.
Craft¶
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity, the art of maximizing the amount of work not done, is essential.
Self-organization¶
- 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.
The principles as one loop¶
graph LR
C[Customer states a need] --> B[Small increment built]
B --> D[Delivered, principles 1 and 3]
D --> F[Feedback from real use]
F --> R[Reflect and adjust, principle 12]
R --> C
B -.->|technical excellence, principles 9 and 10| B
D -.->|sustainable pace, principle 8| B
The dotted edges are the ones teams drop first. Without them the loop still turns for a while, then slows down as the codebase and the people wear out.
Where each principle shows up¶
| Principle | Practice that implements it |
|---|---|
| 1, 3: frequent delivery | Sprints, small releases |
| 2: welcome change | Product Backlog re-prioritized every Sprint |
| 4: daily collaboration | On-site customer, Product Owner |
| 7: working software as measure | Definition of Done, Sprint Review |
| 9, 10: excellence and simplicity | TDD, refactoring, continuous integration |
| 12: reflect and adjust | Sprint Retrospective |
Check Your Understanding¶
#
Principle 7 says "working software is the primary measure of progress." What does it rule out as a progress metric?
#
Principle 8 asks for a "constant pace indefinitely." Which practice violates it?