Agility is why most organizations adopt Scrum.
The actual agility an organization achieves is rooted in how sophisticated Scrum is being employed. Beyond the mere adoption of Scrum, enterprise agility is much accelerated if the organization re-emerges its structures around Scrum. With re-vers-ify I remind people that structures need to be re-imagined, rather than predicted or copied, often upon re-imagining Scrum.
Through Scrum, teams and organizations create, deliver, maintain and evolve great products and services. Through Scrum, teams and organizations create the opportunity of potentially releasing a 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 foundational agility, the potential to thrive on its market, while creating a motivating working environment.
The state of an Increment of product by the end of a Sprint is named “Done” in Scrum.
In order for everyone to understand what “Done” means, teams have a definition of Done in place. The definition of Done holds the shared understanding of what it means for work to be complete, and ensures transparency over the completeness of the work.
At several points in time this 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.
- Progress of development throughout a Sprint.
- When considering the opportunistic value of the product functionality offered in the Increment (not having to turn the inspection into a quality interrogation).
Without a definition of Done, Scrum cannot be applied effectively.
Ideally, a professional organization defines quality requirements to be incorporated into a product. Regardless, Scrum professionals adhere to an appropriate definition of Done. Always. No undone work is part of the Increment. No undone work is put into production. Ever. Meanwhile 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 impediments that prevent the teams from creating actually releasable versions of product. 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 impedes the agility that the organisation desperately needs. It 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. When released, nothing breaks. No unpredictable amounts of open work accumulate in the system, waiting to be handled at some unknown point in time, meanwhile corrupting everybody’s understanding of the progress and quality. The actual release decision depends on how useful the product is, a decision that lies with the Product Owner, the sole representative of users and stakeholders to the Development Team(s).
At least an Increment is integrated across teams and systems to have it in a production-deployable state. Most often teams define as “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 used? 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, and therefore can be released. A “Done” product is a product that exhibits your organization’s definition of product qualities.
Valuable Increments are at the heart of Scrum, as I already indicated in my book “Scrum – A Pocket Guide” (2013).
Shifting the balance toward creating Valuable Increments is truly enacting Scrum, and living by the highest Agile principle:
- From the Agile Manifesto:
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software (bold-indication by me).
- From 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 me).
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?