Need professional feedback on Definition of Done example in my organization
Hello peers, seeking a help in getting a feedback supported with empiricism on proposed Definition of Done in my organization. Preferably from CST/PST-designated professionals, as after some discussions I’m slightly losing my confidence of helping teams to improve, either due to the luck of proper explanation to my leadership, or different backgrounds.
Here below is a list of some generalized points that after discussing with developers could benefit multiple scrum teams working on the same product and could be included into Definition of Done:
- Code followed established guidelines
My Rationale: the process slows down at those items that are not following the guidelines, it does require re-work subsequently and sacrifices the quality of the Increment
Feedback from my organization: This is too technical to be considered as a part of the Definition of Done. This should be just controlled by a dev managers
- Deployment steps provided for each item
My rationale: this is probably company-specific, but historically due to missing and inaccurate deployment steps, teams were facing lots of issues and failed achieving Sprint Goals
Feedback from my organization: this is not a candidate to Definition of Done
- Acceptance criteria of the item met
No discrepancies on this point
- Code reviewed by peers
My rationale: this is a built-in quality measure, that not only produces higher chances of success but also contributes towards maturity and knowledge of scrum team members
Feedback from my organization: This is not an item to the Definition of Done, since we (PMO organization) are not controlling in fact whether once code got reviewed it actually achieved some quality goals (?!). Also, organization believes, this should be just a vertical management rules or policies, but not a Definition of Done.
- Test cases reviewed
My rationale: historically after retrospection of number of failed Sprint Goals, it has been agreed with scrum teams that this could benefit the team by pairing Developer (Software Engineer) & Developer (Quality Engineer) at the beginning and applying more test-driven development practices.
Feedback from my organization: This is not a Definition of Done
- Unit tests passed
No discrepancies on this point
- No critical defects remain against the product backlog item
No discrepancies on this point
- Code loaded to environment XYZ123
My rationale: Of course it will be specific to my organization, but to me this should be a clear Definition of Done in order to enhance transparency within the team, as well as other scrum teams, especially when the question comes to the integrated increment from various scrum teams. This XYZ123 environment does contain the needed setup and configurations in order to have potentially demoable increment at the end of each Sprint.
Feedback from my organization: this is not a Definition of Done.
When I asked my leadership, what could be a Definition of Done – the answer was limited to generic guidelines we all see on comprehensive public resources:
- Tested
- Deployed
- User Story Accepted etc.
I’ve tried to explain, that Definition of Done is not a blood-signed declaration and can evolve over the time once more learned, but I am confident that in order to be able to deliver more value, items from the list should be understood by those scrum teams and conformed to it.
I will value any professional feedback on whether the items from the list above are actually not a Definition of Done, if such occurs I may need to return myself back to basics, as it appears after going through PSM, PSPO, PAL, PSK & SPS and years of experience – I might something missed important in the past.
If you've discussed these criteria with the Developers as you say, and they believe they improve transparency over Done, then they ought to be represented in the Definition.
The Developers are the ones doing the work and hence they are accountable for quality. No-one can force them to observe a lower standard and to incur technical debt.
You mention that the organization is pushing back but do not elaborate on who "the organization" is. You did make reference to a PMO and engineering managers which immediately sent my mind to waterfall, project managers, and managed teams rather than self-organizing Scrum teams. Perhaps by having individual teams adopt their own Definition of Done and then sharing them with the outside "organization", those outside the Scrum team would come to appreciate it.
The Scrum Guide says that the Definition of Done is
...a formal description of the state of the Increment when it meets the quality measures required for the product.
It also states
If the Definition of Done for an increment is part of the standards of the organization, all Scrum Teams must follow it as a minimum. If it is not an organizational standard, the Scrum Team must create a Definition of Done appropriate for the product.
So your individual teams can craft their own given no organizational standard. In past revisions of the Guide, it had been stated that if an organizational one exists, teams can still define their own but it must include everything in the organizational and cannot be less stringent. So let your organization create the less restrictive and each individual team can extend it to be more encompassing.