User acceptance testing (UAT) is a contextual journey that is undertaken at the end of an application development cycle, to know from end users if the solution developed meets the desired business objectives. Unlike unit or integration testing which provide definitive results, UAT delivers more of a suggestive outcome. Keeping in mind the variety of applications in each organization and the diverse user base for these applications, UAT requires proper attention to ensure the best results.
Shorter, faster and iterative application development cycles are becoming the new norm. Applications are in a perpetual state of change, evolving faster than ever constantly. The top e-commerce companies’ players push approximately 2,000 to 6,000 changes in a minute or across a day for their applications. Adding on to the complexity, applications are being designed to be hyper local. This leads to multiple versions being developed and tested to ensure they cater to the operational, regulatory, contractual, and end user needs. Conducting UAT in such a dynamic environment is a challenging task.
Another challenge in UAT is the style and culture in which organizations operate. Some organizations need to take UAT very seriously while others do not need to lay a lot of emphasis on it, some get into details while others skim the surface. So, when someone asks ‘how-to’ conduct UAT effectively, an immediate answer is “it depends”!
Every UAT is rooted in context and it really boils down to how it is “managed” in such dynamic environments. A managerial practice is therefore the best way to efficiently harness its capabilities.
In spite of the dynamic nature of each UAT journey, there are three essential aspects to consider:
Expectations - What the end users can look forward to experiencing while using the application
Experiences - How the organization plans to deploy the application for the end users to test
Reflections - Identifying the attributes of the application that coincide with the organizations business requirements and the end users’ needs. This determines the success or failure of meeting their business objectives
Considering the subjective nature of UAT, judicious management of these three elements is paramount. Here are some ways to hone them in today's fast paced and dynamic application development environment:
A well-defined understanding of relevant and frequently occurring scenarios, leads to better success with UAT. Once users understand the importance of the new application, they are in a better position to judge it. Apart from a proper introduction to the application, the following steps help in setting the right expectations:
Defining roles and responsibilities of both the team running the UAT and that of the users. There may be variations in how users test the application based on their roles
Establishing a proper schedule to prevent users from dropping out. Nothing damages the rigor of UAT more than a user who does not turn up
Training users so that they understand the scope of the application, its current limitations and providing a future roadmap
If planned and executed well, users testing the application will get into a participative mode rather than an evaluative mindset during the UAT process. They will be more open to providing subjective feedback, which would be highly beneficial considering the subjective nature of UAT. Planning the experience is an art that every team should practice and improve upon with each successive UAT. A few pointers towards ensuring that are as follows:
Developing a plan and schedule that's personalized for every user. This helps boost morale and prevents absenteeism.
Mimicking the accurate environment for users to test the application effectively. It's a good practice to emulate real world issues to test the application e.g. testing during slow internet connectivity or lack of internet connection
Ensuring that users are able to use the application and report issues in a simple and straightforward manner. IT departments are crucial here to ensure streamlining of the process
Every user participating in UAT reflects on the experience they have had while using the application and reports any issues they faced based on the expectations. If both have been managed well, their reflections would be positive leading to better outcomes. Even if their reflections are not positive, it does not automatically imply that the application does not meet the business objectives. It is critical to correctly understand what the user is thinking, which can be achieved by following these steps:
Choosing the right methods and tools to gather and analyze reported issues from the users
Examining every issue reported by the users and ensuring clarity in their feedback. Reaching out to the users for clarifications and further details when necessary is a good practice
Intimating users as to how their feedback would lead to actionable tasks. This would be followed by ending with a sign off and a sincere expression of appreciation for their time and effort
Managing expectations, experiences and reflections across the UAT journey is similar to employing the principles of service design thinking. The two fundamental principles followed there are:
Evidencing – In the context of UAT, it means providing enough evidence that UAT is being conducted in the sincerest manner
Novelty – Providing a valuable or tangible benefit for the time and effort users spend as part of the UAT journey
By treating the UAT journey as a managerial practice, organizations can effectively customize the entire experience to ensure getting relevant and accurate insights from the end users. Doing so not only leads to achieving the required business objectives, but also guarantees meeting the requirements of the end users.
In every UAT journey, Sasken endeavors to bring in business & design functions to conduct the testing. These functions ensure that business objectives are tested with real users to generate accurate UAT outcomes. Like an application development life cycle, we believe that UAT is a journey, not a destination. We work closely with business and technology to bring usable products and services to market.
Sasken is a specialist in Product Engineering and Digital Transformation providing concept-to-market, chip-to-cognition R&D services to global leaders in Semiconductor, Automotive, Industrials, Smart Devices & Wearables, Enterprise Grade Devices, Satcom and Transportation industries.
Sasken Technologies Ltd (formerly Sasken Communication Technologies Ltd) 139/25, Ring Road, Domlur, Bengaluru 560071, India CIN# L72100KA1989PLC014226