In project management, UAT stands for User Acceptance Test in software development projects. This test is used for the customer or user to confirm the software product can be accepted or not.
In project management, in order to succeed in something, you have to make great efforts; but if you want to fail something, then you probably have to just do one part of the thing wrong, then the outcome would be an entire failure. Especially for UAT, in order to achieve a successful UAT, we as project managers have to collaborate with various stakeholders and make great efforts on every relevant aspect of the UAT. On contrary, if we did one or several of the following things (especially for software development projects), then the UAT would probably fail.
Keywords: project management, project, UAT, user acceptance test, software development
There are 9 things/operations which project manager should not do in order to make UAT successful. This article is the first part of this series and introduces the former four things project manager should not do in UAT, the latter five things would be discussed in the subsequent article.
1. Not make any plan for UAT
Junior project managers would say, "What? Do we need a plan for UAT? UAT is just a simple acceptance test, why do we need a plan? We are very confident of our product, there is no need for developing a plan. Isn’t UAT just let the customer/user use the product a little bit and then let them sign the acceptance document if there is nothing wrong?"
Well, as an experienced project manager, I would disagree with this kind of opinion. There is an old saying in China: “Forewarned is forearmed, hence plan before you act.” “Plan” means that we have to develop a plan before doing anything important. This rule is also applied to the UAT test. Even though sometimes it is just a simple user test, but plan every aspect of the tests before performing the actual tests can help us fully prepare for any risk during the test. A project management guru named Harold Kerzner once mentioned in his famous book “Project management – A systems approach to planning, scheduling and controlling”: The most important responsibility of the project manager is to plan, integrate the plan and execute the plan.
2. Not export any UAT acceptance use case
Junior project managers would say, "Why do we need to export acceptance use cases for UAT of software development project? Test cases of the software are already there, why couldn’t we just grab those test cases used for the software development and use them in the UAT tests?"
Well, UAT acceptance tests are not identical with the tests used for software development during the project execution. For one thing, the UAT acceptance test is for the final acceptance of the final software product, which means UAT mainly focuses on whether the operation flow is fluent or not, and whether the product has satisfied the business needs or not. On the other hand, the test cases used during the software development are mainly for technical purposes, which means those test cases are used for testing whether the software has a quality issue or not. When we are going to do the UAT tests, maybe some of the technical test cases can be used as UAT cases, but it would be unwise to completely copy those test cases as UAT user cases.
Furthermore, after we export the user cases of UAT tests, the cases should be reviewed by the key stakeholders officially. This step is very important since it is the process of reaching a consensus with key stakeholders regarding the acceptance criteria.
3. Not fully prepare the UAT acceptance environment
Junior project managers would say, "What? Do we also need to prepare the acceptance environment just for UAT tests? OMG! Our project is already behind schedule and the customers are already pushing us to do the UAT tests. There is no time to waste. Why couldn’t we just use the existing development/test environment for the UAT tests, instead of preparing a unique UAT environment?"
Well, we have to know that UAT tests are final and official product tests before the customers/users use the product in the real production environment. Hence, the test environment of UAT must be as close to the real production environment as possible. Only in this way, the application issues can be found prior to putting the product into the real production environment. On the contrary, if we use the development environment for UAT tests, there is a big possibility that the quality issues which can only be found in the application environment could not be found during the UAT. Therefore, the most important point regarding the test environment is that before executing the UAT tests, it is necessary to fully prepare a test environment just for UAT and prepare all relevant testing data.
4. Perform UAT and technical system tests simultaneously
Junior project managers would say, "Time is too valuable. In order to save time, we plan to perform the technical system tests and the UAT tests simultaneously."
Well, by doing this, there is a big chance that the UAT would fail badly, which would ultimately waste more time than doing the technical system tests and UAT tests sequentially. The main reason is that before the technical system tests can be fully performed, the entire product is not stable enough. The main functions and the operation flows have not been inspected fully, the quality issues would emerge on many levels. For example, functional blocks, problem identification, rework, and repair, etc. these issues would significantly decrease the efficiency of UAT tests. What is more serious is that if the process of UAT tests is interrupted frequently, then the patience of the key stakeholders would be diminished and become more and more unsatisfied. This would generate an entire severe problem of stakeholder management.
In conclusion, just perform the technical system test and make sure every technical issue has been resolved before the UAT tests, in this way the overall efficiency of the project execution would be higher.
In summary, this article is the first part of a series that introduces the things which software development project managers should not do during the UAT tests. This article discussed four of them and the subsequent five would be introduced and discussed in a later article.