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 around the world struggle to produce truly releasable product Increments. Code is written and possibly tested within a team, but the actual Increment is often scattered and hidden in long-lived branches. Additionally, the work completed at the end of a Sprint still needs to be integrated with other product teams. Even worse, it may need to be sent to different departments for that purpose. In these situations, Scrum highlights significant issues within the organization that hinder your agility. There is a considerable amount of “Undone Time” – the time required to turn unfinished work into a Done Increment. This delay eliminates the chance for 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?