I have a question that may not be new but to me, seems a valid one. Hence, I thought I will put it forward to get feedback from those who have been using Scrum for long time.
How is the UAT (User Acceptance Test) conducted in a Sprint?
I know it should be incorporated as part of the "Definition of Done" so that transparency is maintained and the development team know when an increment is complete. However, in real world, does the business accept this? Won't the actual end users (or the key business users) want to test the increment apart from the development team to confirm that it is ready for release (or demo for Sprint Review)?
Another thing: in most of the organizations, the development team won't have the broader access as the actual business user. So, they may only be able to test a subset of the actual business process and not the whole cycle. How is this dealt with in a Sprint to ensure the testing being performed by the development team covers the whole business scenario?
One logical step could be for PO to pitch in on behalf of the business users and perform the UAT (by becoming part of the development team).
Karthik SwaminathanProject Manager| Cognizant Technology SolutiosnManchester, Ct, United States
My point of view:
PO's are representing the "Voice of customers". And the Stories that provide the acceptance criteria are created by PO's after multiple discussions with the product managers or the business users. It is the PO's responsibility to know the customer expectation and also be able to confirm via the Demo that the Sprint team did meet the DOD. Until then the stories should not be accepted/approved for the production release. In some instances, during the Demo, we have requested the business users and the product managers to join and experience the product functionality. This gives the team a chance to hear from the business team for any feedback.
In Sprints, when the features are delivered incrementally, the team needs to have demo properly cover those integrations.
In another instance, we had an external team apart from the Sprint team that performs an enterprise-wide regression and E2E test for the release (multiple sprints items). For this test, the use cases and the results get reviewed with the business team prior to release signoff.
If we have PO to pitch in and perform UAT during the sprint, it takes away their valuable time from creating user stories for future sprint, grooming new requirements and gathering further insights on the future of the product being implemented. However PO should be able to provide any required business domain clarifications to the development team as required so they could get quality deliverable to production
...
1 reply by Mohit Joshi
Aug 26, 2020 11:16 PM
Mohit Joshi
...
Thanks Karthik.
From what I understand from your feedback is: the definition of done should include all the test cases that if passed, would mean the product increment is complete (releasable). And the demo with business stakeholders (Sprint Review) would provide the opportunity to seek feedback on the produced increment.
Now, my question here would be:
(a) Sprint Review would occur after the product increment is ready for demo. At this point, the development is done and the team presents demo on the completed work. So, using this meeting as the point to receive feedback from the actual users of the product/software seem late to me. Of course, the PO is the bridge between business and development team but can he/she alone sign-off the completeness of the increment on behalf of the business?
(b) Since it would sound unreasonable to propose the actual business users of the product to be involved as part of development team to perform the UAT, would this be performed without them (based on the criteria captured in the acceptance criteria and definition of done)? If yes, I see another constraint here as mentioned in my earlier post. The development team wouldn't have the broader access in most organization to perform broader tests. How is this constraint dealt?
I know there might be different strategies to deal with it. I heard from some agile coaches that in few projects that they worked, UAT was not considered as a separate gate to declare product increment as done. While others stated, the Sprint was split to accommodate that viz. a 4 week Sprint with 3 weeks of development + 1 week of QA (including UAT). A few other prefer to have a separate time after each Sprint to cover UAT.
The reason for my question is to learn what best worked in the real world staying closer to the principles of agile development.
PO's are representing the "Voice of customers". And the Stories that provide the acceptance criteria are created by PO's after multiple discussions with the product managers or the business users. It is the PO's responsibility to know the customer expectation and also be able to confirm via the Demo that the Sprint team did meet the DOD. Until then the stories should not be accepted/approved for the production release. In some instances, during the Demo, we have requested the business users and the product managers to join and experience the product functionality. This gives the team a chance to hear from the business team for any feedback.
In Sprints, when the features are delivered incrementally, the team needs to have demo properly cover those integrations.
In another instance, we had an external team apart from the Sprint team that performs an enterprise-wide regression and E2E test for the release (multiple sprints items). For this test, the use cases and the results get reviewed with the business team prior to release signoff.
If we have PO to pitch in and perform UAT during the sprint, it takes away their valuable time from creating user stories for future sprint, grooming new requirements and gathering further insights on the future of the product being implemented. However PO should be able to provide any required business domain clarifications to the development team as required so they could get quality deliverable to production
Thanks Karthik.
From what I understand from your feedback is: the definition of done should include all the test cases that if passed, would mean the product increment is complete (releasable). And the demo with business stakeholders (Sprint Review) would provide the opportunity to seek feedback on the produced increment.
Now, my question here would be:
(a) Sprint Review would occur after the product increment is ready for demo. At this point, the development is done and the team presents demo on the completed work. So, using this meeting as the point to receive feedback from the actual users of the product/software seem late to me. Of course, the PO is the bridge between business and development team but can he/she alone sign-off the completeness of the increment on behalf of the business?
(b) Since it would sound unreasonable to propose the actual business users of the product to be involved as part of development team to perform the UAT, would this be performed without them (based on the criteria captured in the acceptance criteria and definition of done)? If yes, I see another constraint here as mentioned in my earlier post. The development team wouldn't have the broader access in most organization to perform broader tests. How is this constraint dealt?
I know there might be different strategies to deal with it. I heard from some agile coaches that in few projects that they worked, UAT was not considered as a separate gate to declare product increment as done. While others stated, the Sprint was split to accommodate that viz. a 4 week Sprint with 3 weeks of development + 1 week of QA (including UAT). A few other prefer to have a separate time after each Sprint to cover UAT.
The reason for my question is to learn what best worked in the real world staying closer to the principles of agile development.
-- Mohit Saving Changes...
Sergio Luis ConteHelping to create solutions for everyone| Worldwide based OrganizationsBuenos Aires, Argentina
It is done in the same way in essence that other methods but inside an incremental-iterative life cycle. I mean, after somebody created a piece of product and made unitary testing on it the piece is put available for integration testing and when it is done the piece is put for user acceptance test. When the last is done the piece of product is ready for deployment. Sprint Review is to show a "demo" of the product then it is better to have all pieces tested before taking it. No matter that, you can see different implementations in different organizations.
...
1 reply by Mohit Joshi
Aug 27, 2020 10:18 AM
Mohit Joshi
...
Thank you Sergio.
Although I didn't exactly get the answer to my question but maybe I don't have to. Seem like there is no "one point" answer to this challenge cos it looks layered. Depending on what layer the problem is hurting the organization or the adaptability of Scrum framework (and how mature the Scrum team is), different teams may apply different strategies.
The definition of done is an indicator the increment is complete and if the resulting increment meets that definition, it should be ready for release. How that definition is defined is unique to each context. And whether the PO or business actually releases the increment after the Sprint or ask for correction/enhancement to it triggers the next cycle of grooming, planning, work and review. Retrospective meeting would a good place to discuss why that occurred and how the definition of done can be adjusted to overcome that gap.
It is done in the same way in essence that other methods but inside an incremental-iterative life cycle. I mean, after somebody created a piece of product and made unitary testing on it the piece is put available for integration testing and when it is done the piece is put for user acceptance test. When the last is done the piece of product is ready for deployment. Sprint Review is to show a "demo" of the product then it is better to have all pieces tested before taking it. No matter that, you can see different implementations in different organizations.
Thank you Sergio.
Although I didn't exactly get the answer to my question but maybe I don't have to. Seem like there is no "one point" answer to this challenge cos it looks layered. Depending on what layer the problem is hurting the organization or the adaptability of Scrum framework (and how mature the Scrum team is), different teams may apply different strategies.
The definition of done is an indicator the increment is complete and if the resulting increment meets that definition, it should be ready for release. How that definition is defined is unique to each context. And whether the PO or business actually releases the increment after the Sprint or ask for correction/enhancement to it triggers the next cycle of grooming, planning, work and review. Retrospective meeting would a good place to discuss why that occurred and how the definition of done can be adjusted to overcome that gap.
...
1 reply by Sergio Luis Conte
Aug 27, 2020 10:27 AM
Sergio Luis Conte
...
I do not agree with you in one point. Scrum is simple to implement but the problem is this: Scrum is a framework that must be fullfiled with the tools and techniques best fits for the current situation. That´s forgotten and people talk about user stories, story points and things like that when it is no line inside the Scrum Guide about it, The second is people do not understand that Scrum is based into an iterative-incremental process and tried to map what they do in sequential/waterfall/iterative only/incremental only. Iterative-Incremental seems to waterfall-parallel based activites then things must be done in parallel without intervention of somebody. I mean, people take the pieces to do the job (unit test-sit test-uat) as they see the piece is ready in the previous state without asking. Regarding the definition of done is nothing new, it exists from the prehistory of the software. When you write a requirement the acceptance criteria must be write too and it is composed by the objective to be satisfied plus the process to validate it. That´s all is needed. And take into account what I am saying: it is written when you write the requirement. Retrospectives must be done along the process not at the end of the process. That´s a basic principle of continues improvement and that´s a critical success factor to create "self-directing teams" or whatever the prople like to call it.
Saving Changes...
Sergio Luis ConteHelping to create solutions for everyone| Worldwide based OrganizationsBuenos Aires, Argentina
Aug 27, 2020 10:18 AM
Replying to Mohit Joshi
...
Thank you Sergio.
Although I didn't exactly get the answer to my question but maybe I don't have to. Seem like there is no "one point" answer to this challenge cos it looks layered. Depending on what layer the problem is hurting the organization or the adaptability of Scrum framework (and how mature the Scrum team is), different teams may apply different strategies.
The definition of done is an indicator the increment is complete and if the resulting increment meets that definition, it should be ready for release. How that definition is defined is unique to each context. And whether the PO or business actually releases the increment after the Sprint or ask for correction/enhancement to it triggers the next cycle of grooming, planning, work and review. Retrospective meeting would a good place to discuss why that occurred and how the definition of done can be adjusted to overcome that gap.
I do not agree with you in one point. Scrum is simple to implement but the problem is this: Scrum is a framework that must be fullfiled with the tools and techniques best fits for the current situation. That´s forgotten and people talk about user stories, story points and things like that when it is no line inside the Scrum Guide about it, The second is people do not understand that Scrum is based into an iterative-incremental process and tried to map what they do in sequential/waterfall/iterative only/incremental only. Iterative-Incremental seems to waterfall-parallel based activites then things must be done in parallel without intervention of somebody. I mean, people take the pieces to do the job (unit test-sit test-uat) as they see the piece is ready in the previous state without asking. Regarding the definition of done is nothing new, it exists from the prehistory of the software. When you write a requirement the acceptance criteria must be write too and it is composed by the objective to be satisfied plus the process to validate it. That´s all is needed. And take into account what I am saying: it is written when you write the requirement. Retrospectives must be done along the process not at the end of the process. That´s a basic principle of continues improvement and that´s a critical success factor to create "self-directing teams" or whatever the prople like to call it. Saving Changes...
I definitely wouldn't consider anything "done" until it's passed UAT. Regarding who does it - it really depends on if you truly need an end user to do it or if the demo during the sprint review would be enough.
...
1 reply by Mohit Joshi
Sep 01, 2020 12:33 PM
Mohit Joshi
...
Thanks Susan. Yes, even I would think it would be necessary that the acceptance test is performed before the increment can be labeled as "Done". Having said that, I don't think Sprint review is the appropriate time to perform that test. The demo is based on what is already done and this meeting is not focused to fetch that acceptance.
I may be wrong though as some organization may find it appropriate to include in Sprint review. So, possible but not ideal.
Saving Changes...
Khai Ng.IT PMO | IT Project Manager| TTGROUPHanoi, Viet Nam
Mohit
How is the UAT (User Acceptance Test) conducted in a Sprint? The answer is in the role and responsibility of PO in the Scrum team. Read more about it then you will find the answer.
How is this dealt with in a Sprint to ensure the testing being performed by the development team covers the whole business scenario? Each project, each user story has its own defined scope and the work products are validated against their requirements (or DoD), so why do development team have to cover what are out of their scope? Do you think it is reasonable to ask them to do so?
...
1 reply by Mohit Joshi
Sep 01, 2020 12:39 PM
Mohit Joshi
...
Thanks Khai.
The reason why I think it is appropriate for end users (who are actual users of the software/product) to perform the acceptance test is because many a times the development will not have that broader access in the environment to perform that broader tests. And I would assume such tests are included in "Definition of Done". Hence, it can be a challenge on how to include the end users during Sprint though.
Having said that, if the organization (read PO, who represents the stakeholders) is okay to accept an increment as done if the development team performed testing is considered enough, then yes, team is not required to focus on something additional.
I definitely wouldn't consider anything "done" until it's passed UAT. Regarding who does it - it really depends on if you truly need an end user to do it or if the demo during the sprint review would be enough.
Thanks Susan. Yes, even I would think it would be necessary that the acceptance test is performed before the increment can be labeled as "Done". Having said that, I don't think Sprint review is the appropriate time to perform that test. The demo is based on what is already done and this meeting is not focused to fetch that acceptance.
I may be wrong though as some organization may find it appropriate to include in Sprint review. So, possible but not ideal. Saving Changes...
How is the UAT (User Acceptance Test) conducted in a Sprint? The answer is in the role and responsibility of PO in the Scrum team. Read more about it then you will find the answer.
How is this dealt with in a Sprint to ensure the testing being performed by the development team covers the whole business scenario? Each project, each user story has its own defined scope and the work products are validated against their requirements (or DoD), so why do development team have to cover what are out of their scope? Do you think it is reasonable to ask them to do so?
Thanks Khai.
The reason why I think it is appropriate for end users (who are actual users of the software/product) to perform the acceptance test is because many a times the development will not have that broader access in the environment to perform that broader tests. And I would assume such tests are included in "Definition of Done". Hence, it can be a challenge on how to include the end users during Sprint though.
Having said that, if the organization (read PO, who represents the stakeholders) is okay to accept an increment as done if the development team performed testing is considered enough, then yes, team is not required to focus on something additional. Saving Changes...