Agile bill of rights

Agile bill of rights

I’m reading ‘Clean Agile’ by Robert C. Martin.

On pages 56 and 57 he describes ‘The Bill of Rights’ as defined by Kent Beck, Ward Cunningham, and Ron Jefferies, among others.

I wanted to record them here because I expect I’ll be referring to these often when interacting with development teams and product managers in the future. They read as follows:

Customer Bill of Rights

  • You have the right to an overall plan and to know what can be accomplished when and at what cost.
  • You have the right to get the most possible value out of every iteration.
  • You have the right to see progress in a running system, proven to work by passing repeatable tests that you specify.
  • You have the right to change your mind, to substitute functionality, and to change priorities without paying exorbitant costs.
  • You have the right to be informed of schedule and estimate changes, in time to choose how to reduce the scope to meet a required date. You can cancel at any time and be left with a useful working system reflecting investment to date.

Developer Bill of Rights

  • You have the right to know what is needed with clear declarations of priority.
  • You have the right to produce high-quality work at all times.
  • You have the right to ask for and receive help from peers, managers, and customers.
  • You have the right to make and update you own estimates.
  • You have the right to accept your responsibilities instead of having them assigned to you.

Pages 57-61 continue to give a more detailed explanation of each of these rights. I’ll mention the definition of ‘customer’ and ‘developer’ here, but I can’t plagiarize the whole thing. If you want all the details you’ll have to buy the book.

‘Customer’ in this context refers to business people in general. This includes true customers, managers, executives, project leaders, and anyone else who might carry responsibility for schedule and budget or who will pay for and benefit from the execution of the system.

‘Developers’ in this context are anyone who works on the development of code. This includes programmers, QA, testers, and business analysts.