Friday, December 7, 2018

Auto-Close to Force Better Communication


Recently, I proposed some rules to eliminate ambiguity from acceptance criteria. They centered around the idea of automatically choosing a particular kind of interpretation.

It seems like a powerful tool, replacing decisions with automatic rules. Of course, you don't want to do it all the time...but it seems like a really good way to drive decision-making away from where we don't want it to be, like interpreting acceptance tests.

Another place we don't want judgment calls to be made is at the end of a story/task/work-item. It should be apparent, at that time, whether or not a story is ready to be closed. If it's not, it's already too late.

What if story-closure was automatic?

Imagine a workflow with the following properties.
  • Anyone can close a story when all its criteria are met.
  • Nobody can close a story if any of its criteria are unmet.
  • The strictest interpretation of any given criterion is always enforced by Product, no matter how hard Engineering worked.
  • Engineering can reject a story based on insufficient/ambiguous acceptance criteria, no matter how high priority Product says it is.
How would that change the conversation about what to do next, for your team?

A picture of a pipeline with the front part cut away. Through it "flows" five stages of work: To Do, Discussion, Development, Release, Done. It shows that development can block work from entering the Development phase and Product can block it from entering the Release phase.