I have been asked to define the role of the BA in an organization where there is a Web team following Agile and the web transacts with 2 microsoft systems and there is also a SaaS app too. In the organization we are trying to pin down where a BA would come into the cycle UAT. With the added confusion of that only the web team has QA, which is in its infancy, where they are doing TDD and unit testing.
What is the difference between what a QA team would do and the UAT in the Agile world?
The BA for me would be included at the requirements gathering, solutioning/design, development of new business processes, UAT scripts and training if required to the organization. Also a part of the scrum team. Yet UAT is the stumbling part the change and who writes the test scripts when there are at least 4 systems yet only 1 has a QA team which has grown from within so a limited knowledge of QA in the IT community.
Does anyone have any thoughts?
Roaslind,
You seem to be on the right track. First, it's important that we are on the same page regarding the types of testing that may occur. Here is a quick overview of most of them.
http://www.modernanalyst.com/Careers/InterviewQuestions/tabid/128/ID/1004/What-types-of-testing-should-be-considered-when-developing-an-application.aspx
But let's focus on UAT. True UAT cannot be performed by the developers. It's a conflict of interest. The entire point of UAT is to ensure the End-User agrees that the solution (which should already be thoroughly unit tested, system tested, integration tested, etc) meets the need of the user based on the original requirements. Sometimes, a BA performs the UAT as a proxy for the end-user, but ideally the End-Users would do this. Often, UAT does not use formal step-by-step test cases. The idea is that the user should be able to figure most of it out on their own. They may need to ask a few questions which is the second benefit of UAT. It's the first round of training for end-users.
By the way, Test Driven Design is quite common within Agile environments. It's a good way to ensure that the user stories are clearly defined. Each user story can be detailed out with acceptance test criteria.
It sounds like you are pointed in the right direction!
Hi Chris,
That is really helpful. The web team do use TDD, however as they only test the web layer and not the other integrated systems. Whereas the other systems/apps etc do not appear to go through any QA apart from the developers own code checks.
This is an interesting mix to recommend the test process where the Web QA wish to dictate the test scenarios. At present Web QA produce scripts for UAT to follow where they would pass UAT as they passed Web QA as they are on the same environment. So I am in the process o recommending a broader UAT and that the Integrated systems are also checked.
All challenging.
brought to you by enabling practitioners & organizations to achieve their goals using: