6

We've recently started to use the Scrum framework and we gradually went from 1 team to 5. I am doing the Scrum Master role. In the last months, each Development Teams worked on their Definition of Done (DoD) with the Product Owner. Each Teams have negociated their own DoD. There are some differences between each DoDs.

Today, there is 1 Product Owner and 5 Scrum Masters and we want to use a unique DoD for all the Teams. What do you propose we should do to harmonize the DoDs?

Proposals that came out of our discussions:

  • Each Scrum Masters work with the Product Owner to build a new DoD that they'll present to their Team.
  • Each Team elect a representative (Developer) that work with the Product Owner to build a new DoD that they'll present to their Team.

In both cases, this would be an iterative process so that each Team could provide feedback and adjust.

Thanks in advance!

4
  • 1
    May I ask what is the motivation for a unified DoD? A project's Definition of Done is usually specific to the project type and its quirks. By applying a unified DoD across multiple projects it sounds like you'd be throwing away what makes DoDs useful.
    – MetaFight
    Commented Jun 15, 2016 at 11:32
  • Good question! It is the same project. One Product Backlog for many Scrum Teams.
    – PSenez
    Commented Jun 15, 2016 at 11:34
  • So you have 5 teams working on the same product?
    – MetaFight
    Commented Jun 15, 2016 at 11:35
  • Yes. 5 Scrum Teams on one product.
    – PSenez
    Commented Jun 15, 2016 at 12:52

4 Answers 4

2

Insisting on imposing a fixed process on teams defeats the idea of working in an agile way. Each team should be free to organise itself in a way that allows it to work best. If that means each team has its own definition of done, then that should be accepted as the best solution. If, over time, the teams talk to each other and settle on a single definition, then great. If different definitions continue to work for them, then keep it that way.

1
  • Thanks for the feedback. Please see my comment to Bryan Oakley.
    – PSenez
    Commented Jun 16, 2016 at 15:32
2

Each Teams have negotiated their own DoD. There are some differences between each DoDs.

Consistency has it's place, but until you identify the problems a lack of it causes, it's difficult to come up with a solution.

The benefit of Scrum/Agile is to let teams manage themselves. If a team can't come to a consensus on an issue, it's good to have some management rules that could help narrow the focus. Also, as members go from one team to another, it's nice to know what to expect in hopes of fitting in right away. Is there a problem here you're trying to fix or avoid?

So to answer your question, I think you are on the right track in trying to get everyone's input, but you should be prepared to discover that there is such a lack of agreement, that you should forget about a single DoD and let each team adjust and evolve their own meaning during the course of this project as they see fit.

You're getting into top-down/hierarchical management territory here even though you're involving everyone. Be very careful in applying a rigid rule to all people in all situations. It will be very difficult to get 5 individual teams to continuously revise the DoD every time there is an exception.

3
  • 1
    Even worse, if you do magically manage to get a consistent DoD for 5 teams, what happens when you add a 6th? Is their input on what the DoD is not important? Would you then gather the 6 teams to redefine the DoD? Applying a consistent DoD across teams and keeping everyone happy in the process sounds like a lot of work.
    – MetaFight
    Commented Jun 15, 2016 at 13:34
  • @MetaFight - Good point. One more reason not to go down this rabbit hole. Maybe this is a case where a manager feels a need to do a little bike shedding.
    – JeffO
    Commented Jun 15, 2016 at 21:24
  • Like I answered to Bryan, we will consider having the Teams propose a base DoD and then let them add items in their individual Team DoDs. Thanks.
    – PSenez
    Commented Jun 16, 2016 at 15:31
2

Sharing a common core

I think it's reasonable to have a common set of core items on your definition of done, but it needs to be flexible. These common items should be clearly obvious and necessary for every team, to the point where there simply is no argument that they should be included.

For example, every team should probably have "has unit tests that pass" as one item. Another good candidate is "must be checked in to version control", and "must pass all acceptance criteria".

Team empowerment

Each team should be free to modify their own definition of done without requiring approval from a committee. Scrum is about team empowerment. By forcing a team to have a "definition of done" that was designed by another person or team is not empowerment.

For example, some teams might want to require peer review, but maybe that's not appropriate for all teams. Some teams might require buyoff from a usability expert, but that typically has no relevance for a team working on a backend. One team might have stricter code coverage requirements than another, and so on.

Scrum is all about the team

In scrum, focus is on the team. If that means it requires a little bit more work by the product owner or scrum master, so be it. The role of the scrum master is to remove roadblocks, not add them.

3
  • I totally agree. A DoD must not be imposed on the Team. I did more reading about Scaled Scrum and the general solution seems to be a "base" Definition of Done that every Team agree upon and then each Team can add items to their individual DoD. Thanks!
    – PSenez
    Commented Jun 16, 2016 at 15:27
  • While I agree almost 100%, I do have a caveat for this. DoD may include certain types of Enterprise standards that must be upheld by all teams. Things like performance, concurrent users, or UX, architectural or coding standards come to mind. Commented Feb 28, 2018 at 18:50
  • 1
    @CurtisReed: right. That's why I mentioned a common core of items. Commented Feb 28, 2018 at 20:07
2

If there are multiple Scrum Teams working on the system or product release, the development teams on all of the Scrum Teams must mutually define the definition of “Done.”

If "done" for an increment is not a convention of the development organization, the Development Team of the Scrum Team must define a definition of “done” appropriate for the product.

The Scrum Guide

Without a common definition of "Done" for a product, quality and its transparency will be negatively impacted. Organizational levels of definition of Done should be minimal, technical, and sometimes provided by the organization so it can be applied universally. The organization may provide coding standards. The organization may require automated builds while providing the resources to create and maintain it for each product. Any part of the definition of "Done" whether created by the organization or by an individual Development Team must bring value.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.