The more you know about the end-user, the more effective you will be as a tester. Here are some tips for adding value by thinking like your customer.
One of the biggest criticisms about testers and QA organizations is that they do not understand the business or the end-user. If you believe this to be true, it sends a clear message about not having a value-adding testing team of professionals. The more you know about the ultimate customer or end-user, the more you will become an effective, risked-based tester.
When I led QA teams in the past, I made "knowing your customer" a major performance criteria for my staff. To ensure this, I arranged field trips with business development to customer sites and had the testing team view how and why the end-users actually used the system or application. Upon returning from these field trips, the QA team started to modify how it approached end-to-end and user acceptance tests. It was so beneficial that the number of critical end-user defects dropped by more than 20 percent in a very short period of time.
This result inspired me to continue my learning. I took the product management certification course from Pragmatic Marketing and was certified in pragmatic product management in December 2009. From the course, I learned how understanding the following questions will increase the effectiveness of tests and testing teams (note: It is your responsibility to ensure you are adding value to the delivery of the product):
- What problem or problems will this upgrade, enhancement, or new feature solve? This is the value proposition.
- For whom do we solve that problem? This is the target market.
- How will we measure success? This is the business result. What metrics will be needed to validate success has been attained?
- What alternatives are out there? What is the competition doing? Is it a "blue ocean industry” or a "red ocean industry”?
- Why are we best suited to pursue this? What is our differentiator?
- Why now, and when does it need to be delivered? This is the market window or window of opportunity.
- How will we deploy this? What will be our deployment strategy?
- What is the preliminary estimated cost and benefit? Will there be a return on investment, customer satisfaction increase, or cost avoidance?
If you understand these high-level questions, you will ensure a higher level of end-user quality by designing and executing tests from an end-user’s perspective. Defining, quantifying, and weighing the many quality dimensions as perceived by your end-users, you will be able to approach testing in a very efficient and effective manner. Knowing what the user wants and needs to do with the system will enable a proactive mindset regarding requirements and feature reviews, acceptable behaviors, operational inconsistencies, interactions, and interoperability.
I have found the user manual to be a great source of knowledge for a test team. Granted, a newly developed application is devoid of a manual, as the manual gets developed along with the application. But, during my independent consulting years, I relied heavily on these manuals to gain an operational business perspective. Be careful, though, as they can be dated and may become stale depending upon how much the end-user relies upon them.
This perspective naturally leads to an understanding of where the potential risks are to the business:
- What are the most common and critical areas of the functionality from the user’s point of view?
- How accepting should the system be to incorrect input?
- Is the description complete enough to proceed to design, implement, and test the requirement processes?
- What is an acceptable response time for the users? Are there stated performance requirements?
- Which problems and risks may be associated with these requirements?
- Are there limitations in the software or hardware?
- Which omissions are assumed directly or indirectly?