In general who is responsible for writing UAT scripts for a typical salesforce implementation? Should the BA from Business side review the feature prototype and write scripts and should it fall on the IT side? Any suggestions how th UAT script writing looks like in an agile / waterfall environment?
"UAT script writing" contains from several steps. Some of them can be done by anyone depending on contractual agreement.
- Create initial list of scenarios. Any side.
- Write down detailed scenarios, fix and update them when needed. Any side.
- Review and approve scenarios and changes. Customer only.
- Execute scenarios. Any side.
I've seen both extremes:
- Vendor does everything, customer only approves.
- Vendor has no clue what UAT scenarios are and just receives bugs, customer handles entire UAT process.
The way UATs are created, accepted and performed should be a part of a contract. The practice I do my bets to use and convince my customers to is that:
- Scripts are created by delivery party at the beginning
- Scripts are accepted by receiving party at the beginning
- UATs are performed by receiving party at the end with active presence of delivery party
It is very important that once scripts are accepted in point 2 above - these scripts describes the tests that once passed - system is accepted. If any other bugs are found during free-form tests - these bugs are part of guarantee/post-guarantee service procedure, and cannot stop acceptance process. In scope of point 3 it is very important that delivery party will be present and control the UAT process - mainly to make sure receiving party is following scripts, not going left or right from the procedure. Even if they want to (which is extremely common) they need to be stopped and took back to scripts - with an information that free-form tests are indeed possible, but the UATs needs to be completed first.