I am the supervisor of a UAT department, which is separate from our QA department. In writing policies and procedures for my department (recently created), I have come to a cross roads. QA believes that UAT is solely responsible for testing once a project goes to production. I believe it should be a shared effort between QA and UAT. QA should high level test system functionality whereas UAT should high level test the usability features.
krindin, You are lucky to have a separate UAT division. Most of the companies do not have this privilege.
I am in the QA side. We do not have a separate UAT division in our company. QA deals with post-production issues too.
I think there should be a process established to deal with post-production problems. Best practice route according to my opinion - A problem found in production gets assigned to a Developer. Once it is fixed gets assigned to a QA. QA does thorough testing in the test environment with test data which is very much manipulated. Then should be tested in UAT. It is advisable for UAT to have their own test environment and the test data should be similar to production data.
Krindin, let me put in my 5 cents worth. When you refer to UAT and post this question correctly in the usability and accessibility context, does it ring a bell? Your QA responsibility is to ensure that the software does what was asked for, while UAT is supposed to take a step back to confirm if they asked for the right things. A difference not to be underestimated. Assuming that the system is approved following the UAT, normally it is a user who reports defects or missing functionality, and it is the development responsibility as well as a QA responsibility to follow up and fix that. This should not be a source of confusion. Whether UAT is performed on changes or not is irrelevant, as the usability would no longer be in question, but it is highly recommended in case major functional changes have been implemented.
I believe that there is some overlap in the function of both these areas. QA needs to ensure the functionality, integration, performance and security aspects with respect to the software requirements. UAT needs to ensure all these again and do the operational testing with near to production data, usually after deployment of software. UAT specially needs to make sure that all the contractual requirements are met and software will be accepted by the clients. Here, usability considerations are also involved but the objective is not just limited to usability, instead end to end business process testing needs to be performed.