Definition of Done
The goal of the Sprint is to complete a “Done”, potentially releasable product Increment.
The Scrum Guide states: “When a Product Backlog item or an Increment is described as “Done”, one must understand what ‘Done’ means. Although this may vary significantly for every Scrum Team, members must have a shared understanding of what it means for work to be completed and to ensure transparency. ”
Conceptually the definition of done covers the type of work the team is expected to complete before its shippable: design reviewed, code completed, tested with zero defects, accepted as done and on the production servers ready for blue to green deployment.
MVP Doughnuts & Done
“Done” does not have to all of the functionality, and may simply represent a slice of what is required. This fact changed my understanding of what an MVP (minimal viable product) should be.
Now, in the past I’ve always referenced the doughnuts visual to show the difference between an MVP and the final product. I’ve also seen other variations that include a sketch before the MVP but I now think it’s not the best way to visualise the iterative and incremental delivery of content.
I now believe there is a better way of visualising the “layering” aspect of incremental production. Let’s start with the client brief:
Client Need: “Dough product, fried in oil, dipped in sugar, with a hole in the middle so I can keep them stacked on the shop counter & sell to customers“
If after the first sprint you delivered a sketch of his new product, I don’t believe the client would be very happy, and “Done” would not be achieved.
However, if you took an existing dough product (we’re inventing a doughnut for the first time, so start with another dough product for instance: bread). So, take a slice of bread, cut a hole in it, fry it, cover it in sugar, and then deliver to the client for review. At the end of this sprint, you would have an MVP, which the customer could sell or more likely would advise you on improvements: “Make it lighter than bread, fatter, sweeter, make it look more appetising, cooler, different, smaller hole”.
It turns out the ingredients for bread are not too dissimilar to doughnut mix, especially the more vegan and gluten-free you go. So you may find that you experiment with variations on the ingredients until you hit the “sweet spot” (see what I did there) with the consumer and the client. As a result of the experimentation, you will also find different spin-off products or pivots for future investigation.
This is the point of empiricism, iterative and incremental development; as you build your product up layer by layer with the aim of your first sprint to producing something which is potentially shippable.
Getting from your MVP bread-doughnut to a sugar doughnut could take several sprints – but after each, you would have a different variant to place before the client and trial with consumers. With their feedback, you would then refine the product.
As a side note: I tried making the MVP doughnut – bread, with a hole, cooked in butter and covered in sugar… a very tasty treat.
Here is another great article on the Definition of Done from Scrum.org if you want more details.