playbook/skills/thirdparty/uncle-bob-craft/references/clean-agile.md

2.1 KiB
Raw Blame History

Clean Agile — Deep Reference

Based on Robert C. Martin, Clean Agile (2019). Use this when discussing agile values, practices, and the "Iron Cross."

Agile values (manifesto)

  • Individuals and interactions over processes and tools.
  • Working software over comprehensive documentation.
  • Customer collaboration over contract negotiation.
  • Responding to change over following a plan.

Uncle Bob stresses that the right-hand side still has value; the left-hand side is preferred when there is a trade-off.

Iron Cross (four supporting values)

Value What it means in practice
Communication Prefer face-to-face (or high-bandwidth) communication; reduce information loss; keep the team aligned.
Courage Courage to refactor, to say no to unreasonable requests, to change the design when the code tells you to.
Feedback Short feedback loops—unit tests, integration tests, demos, small iterations. Learn fast what works and what doesnt.
Simplicity Do the simplest thing that could possibly work. Avoid speculative design and unnecessary abstraction.

Practices

  • TDD (Test-Driven Development) — Red, green, refactor. Write a failing test first, then minimal code to pass, then refactor. Tests act as specification and safety net.
  • Refactoring — Continuous small improvements. Keep tests green; improve structure, names, and design in small steps.
  • Pair programming — Two people at one machine. Improves design and quality; spreads knowledge. Not mandatory every hour, but a recognized practice for hard or critical work.
  • Simple design — No duplication; express intent; minimal elements (classes, methods); small, focused abstractions. Add complexity only when the code asks for it (e.g., third duplication).

Relationship to craft

Clean Agile ties agile values to craft: sustainable pace, tests as requirement, refactoring as part of the loop, and simplicity over speculation. Use this reference when discussing how TDD, refactoring, or pairing support agility and quality.