DoneMaster


… after a team comes together, but before it begins development in earnest, it must establish standards to which it will work. In particular, team members must agree on the Definition of Done. As with any procedural element, the agreeing is the easy part. Doing it continually is the hard part.

During development, after a few sprints, the pressure begins to increase. At this time, natural tendencies become more dominant, working against team process agreements.

✥       ✥       ✥ 

There is a natural tendency to be sloppy with the Definition of Done. It is all too easy to take work that does not quite meet the Definition of Done criteria and mark it done and ship it, with a promise to finish the last little bits later.

Several forces combine to make it easy to fall into this trap:

The consequences of not strictly adhering to the Definition of Done can be dire. Whenever work is accepted that does not meet the Definition of Done criteria, it comes with a promise to make it up later. This adds to the technical debt of the product. Soon the project falls into the big lie: saying (and even believing) that you are Done when you really aren't. After several sprints, you can't release without a lot of pain to make up the technical debt you have accumulated. Maybe you can't release at all.

Therefore:

The ScrumMaster ensures that the team follows its Definition of Done by requiring that each member of the team take responsibility for ensuring that their developments meet it.

✥       ✥       ✥ 

There are two aspects to this. The first is that the Definition of Done must be sufficiently concrete that it is clear that it has been reached or not. As the team defines Done, the ScrumMaster makes sure that the definition is concrete, objective, and testable. The ScrumMaster can ask questions such as, “How do we know whether a work item has met this definition?” The ScrumMaster may wish to get the help of experts to help clarify it. In particular, this is an ideal time to Engage Quality Assurance (Coplien and Harrison).

The second aspect is to make sure that development adheres to the Definition of Done. This is the main part of this pattern. Consider the following:

In rare cases, it’s possible that the team just doesn’t meet its done standards any more, and the ScrumMaster has to proclaim a crisis. In this situation, the likely goal is to recommit the team to adhere to the Definition of Done — see Recommitment Meeting (Coplien and Harrison). This should be done soon, so as to avoid the accumulation of technical debt.

The DoneMaster takes an active role in the initial creation of the Definition of Done. Of course, the DoneMaster does not define Done for the team. The first act of the DoneMaster is likely to ensure that the team does define Done. 

Enforcing the Definition of Done is an activity that is done within the team, but is most effectively done by someone who stands very slightly apart from the team. Thus the ScrumMaster is the ideal role for this responsibility.

In some sense the ScrumMaster is playing the role of the team’s collective conscience.

In disciplined teams, there may be little need for the DoneMaster to be active, as all team members follow the Definition of Done. But the DoneMaster is like a parachute: it's really important to have it, even if you prefer not to have to use it.

Good Housekeeping is a complementary pattern. Both patterns focus on preventing technical debt from entering into the product. While DoneMaster primarily focuses on new development, the DoneMaster may also help the team remember to always have Good Housekeeping.

Related Patterns (summary):

Picture from: United Kingdom Government, https://commons.wikimedia.org/wiki/File:Tasting_the_Christmas_pudding_aboard_HMS_COCHRANE,_November_1940._A1988.jpg (picture in public domain)