June 16, 2017

How ambitious is your "Done" ?

If agility is why your organization adopts Scrum, look for more sophistication in employing Scrum.

Through Scrum, teams and organizations create the opportunity of having a releasable version of product no later than by the end of each Sprint, where a Sprint takes no more than 4 weeks, and often less. This provides an organization with a foundation for agility.

A professional organization only releases "Done" Increments. In order for everyone to understand what “Done” means, a definition of Done needs to be in place, the shared understanding of what it means for work to be complete.

Without a definition of Done, Scrum cannot be applied effectively. At several points in time a definition of Done provides crucial clarity:

  • When forecasting work deemed feasible for a Sprint.
  • When assessing whether work on Product Backlog items and the product Increment is complete.
  • Over progress of development throughout a Sprint.
  • When considering the opportunistic value of the product functionality offered in the Increment.

Scrum professionals adhere to the definition of Done. Always. No "undone" work is part of an Increment. No undone work is put into production. Ever. Committed professional teams keep looking for ways to improve product quality as reflected in the definition of Done.

Many teams across the world seem to be unable to create actually releasable Increments of product. Code is entered, and potentially tested, within a team. But the actual Increment remains scattered and hidden in long-lived branches. Or the work delivered at the end of a Sprint still needs to be integrated with fellow product teams. Or -even worse- it is to be shipped to different departments for that purpose. In those cases Scrum reveals important information over critical organisational dysfunctions impeding your agility. There is a substantial amount of “Undone Time”, the time it takes to go from an undone piece of work to a Done Increment. This time kills the option of opportunistic releases.

The purpose of a Sprint in Scrum is not to just result in a piece of work that can be shipped to another team, functional group or department. An Increment is expected to be in a useable condition, ready for production. At least an Increment is to be integrated across teams and systems to have it in a production-deployable state.

Most often teams include in their definition of Done all the development activities (of which in general a lot of testing) to be performed to consider an Increment as “Releasable”. Imagine however any non-software industry. Can you imagine ‘quality’ being expressed in terms of the machines, tools and practices to be applied? Is this not ‘how’ to create quality, but not a definition of quality?

Quality is defined through the characteristics of a product. Quality is in the qualities that a product should exhibit. A “Done” product in Scrum is not just a product on which rigorously proper development standards were applied. A “Done” product is a product that exhibits your organization’s set of product qualities.

Shifting the balance toward creating Valuable Increments is truly enacting Scrum, and living by the highest Agile principle:

  • The Agile Manifesto: "Our highest priority is to satisfy the customer through early and continuous delivery of valuable software". (bold-indication by author)
  • The Scrum Guide: "A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value". (bold-indication by author)

So, do you have a definition of Done? If so, what are you defining as "Done"? Is it 'Releasable', or 'Valuable'? Is every Increment you create valuable? Why not? Does your Scrum Master know? Your management? And what are you doing about it?