playbook

DCE Playbook for Design and Development

View the Project on GitHub curationexperts/playbook

Guiding Principles

The customer can use our work to solve their problem / the work delivers (the negotiated) value.

DCE Definition of Done

  1. Code is peer-reviewed
  2. Other work (as appropriate) is peer-reviewed
  3. Code is deployed to test environment
  4. Feature includes automated test(s) against acceptance criteria
  5. Feature passes regression testing
  6. (aspiration) Feature passes smoke test
  7. (aspiration) Feature is documented sufficiently and/or appropriately (the need for special knowledge is minimized) & documentation is minimized
  8. Feature ok-ed by Product Owner

Some readings on the topic

Manifesto’s Definition of Ready

The Definition of Ready is a Scrum team’s shared understanding of what criteria a story needs to meet before it can be taken on.

Manifesto’s Definition of Done

The Definition of Done is a Scrum team’s shared understanding of which criteria a story must satisfy to make it into a releasable increment of the product. (edited)

The Agile Samurai

Say your grandparents hired the neighbor’s teenage son to rake and bag the leaves for their front lawn. Would Grandma and Grandpa consider the job done when the teenager did which of the following:

  • Produced a report of how he planned to rake the yard?
  • Came up with an elegant design?
  • Created an elaborate comprehensive test plan?

No way! That kid wouldn’t get a dime until the leaves were raked, bagged, and sitting at the side of the house.

In agile, we use the same definition. Delivering a feature in agile means doing everything necessary to produce shippable code.

The analysis, design, coding, testing, and usability experience and design (UX)—it’s all there. That doesn’t mean we necessarily get every bell and whistle on the first version of a feature or that we push our latest work live at the end of every iteration. But our attitude is we could if we had to do so.

If it can’t potentially be shipped, it’s not done. And that is why as agile developers we need to be big on the agile principle and the acceptance of three simple truths.

Three simple truths

  1. It is impossible to gather all the requirements at the beginning of a project.
  2. Whatever requirements you do gather are guaranteed to change.
  3. There will always be more to do than time and money will allow.