Definition of Done and Workflows
Hi everyone,
I have a DoD for my team and we have a Scrum Board in Jira with different states. The DoD is embed on the workflow but I have this context: as part of the workflow we have the User Acceptance Testing, but this is done after some sprints are finished, it is not a job we do in every sprint. So, I suppose we should delete that column from the scrum board and add it to every issue as a DoD list so we can check it in the future. So, we are having some issues in Done that in the future should be tested by the UAT team. This issues are no longer in the Backlog. How do you do if you have a similar situation? Do you create a new issue for UAT and relate it with the Done issue?
The same happens if we deployed to a staging/pre-prod environment and this will be done in a near future but not during the sprint.
It would be great to hear from you the options you have implemented.
Thanks!
we are having some issues in Done that in the future should be tested by the UAT team. This issues are no longer in the Backlog. How do you do if you have a similar situation?
Have a Definition of Done which truly reflects usable, including UAT, and ensure that the Scrum Team has the competencies to commit to and meet it every Sprint.
Deleting columns or creating issues for others may succeed in covering the problem up.
This is a good example of why User Acceptance Testing should not be part of the workflow or the Definition of Done. Teams rarely have full control over when people outside the team will start and complete their User Acceptance Testing activities. The workflow and Definition of Done should include things that are fully under the control of the team, with the team moving as much as possible under their control to ensure a high quality product.
In my experience, "done" should mean that the work has been integrated into the product and the team has done as much as they can do to ensure that the product would be acceptable to stakeholders. That could mean delivery into a staging/pre-production environment. It could also mean the use of feature flags and keystone interfaces to enable functionality in some environments and not in others, pending complete UAT. It could mean other things, too.
You could track any work needed to move a release from a pre-production environment into a production environment, to deploy a keystone interface, or to toggle a feature flag. However, making these as automated and simple as possible could mean that the work doesn't involve the Scrum Team or that the effort of tracking the work is more than doing the work.
Why would a Definition of Done include any work that is outside the control or direct influence of the Scrum Team? By doing so you are setting up the situation that nothing could ever be completed in a single Sprint. Even if this is a organizational definition, the organization should take into account that nothing could ever be "done" by a single team.
Remember that the Definition of Done is the team's commitment for the Increment and one or more usable increment should be created in every Sprint. The Scrum Guide includes this statement about the Definition of Done:
The Definition of Done creates transparency by providing everyone a shared understanding of what work was completed as part of the Increment.
So, it should describe all of the work done that takes place on the increment during a Sprint. That is typically work done by the Developers or that has been coordinated and verified to be completed by others outside of the team. If the common practice in your organization is that User Acceptance Testing is not done during the Sprint boundaries, I see no reason that you should include it in your Definition of Done.
I want to point out that no where in the Scrum Guide does it state that the increment has to be delivered to the stakeholders to be used immediately. It mentions that any increment created must be usable. If your Scrum Team has an increment that they feel is ready to put forward for User Acceptance Testing, wouldn't that fit the qualifications?