Understanding unspoken requirements is probably one of the toughest things to do as a software tester. Recently, I was able to apply an experience in real life to my work in understanding what the client says, even if they are unable to communicate effectively.
A few weeks ago, I volunteered at XiaoJuDeng Children Rehabilitation Center of Changping District in Beijing. It is a school for deaf-mute children who have received cochlear implants and are receiving speech therapy. As a volunteer, I get to play games, read, and write with them to help with their listening and speech skill building.
In the short amount of time that I’ve been at the center, these children have shown me how people communicate soundlessly. Sometimes they cannot express what they want or need, so it’s up to me to figure out what they are trying to communicate based on their eyes or body language. Even though we cannot directly communicate, the communication barrier breaks down once we both understand that there is a way to express how we both feel.
As a software QA engineer, I’m always looking for ways to improve the software and provide a solution to the issues we report. Now, in no way does my work in software testing and quality assurance amount to volunteering at the rehabilitation center – volunteering is my responsibility as a community member – but volunteering has allowed me to find a way to “soundlessly” excavate potential demand from our customers.
Clients may sometimes complain because their expectations cannot be effectively met. We excavate their potential demand and convert it into “seen” demand so that we can solve their problems and give them the results they really want. Just as in Agile methodologies, catching the demand (defects) early lets us provide better results more efficiently in the end.
Two questions to ask when understanding unspoken requirements:
1. What behaviors show that the customer has potential unspoken requirements?
Sometimes the client doesn’t know how to express their requirement clearly and specifically. If the result you gave them is not what they expected, they will be discontented and may seem anxious, irritated, or impatient. Need generally warrants a reaction, but when there is no visible reaction, it’s up to you to figure out why. However, even a positive reaction can carry some type of request or requirement. You have to be proactive with your clients and ask questions if you’re perplexed by their displayed behaviors.
Aside from using common sense in analyzing the reactions and behaviors of clients upon delivery, we have to remember to simply put ourselves in the shoes of our clients and be observant.
- Empathy: Think from the client’s perspective about questions like, “If I am a user, what kind of problem do I want to solve?” and “If I am developer, what kind of feedback can help me with positioning and fixing the defects?” Thinking from the interests of clients always wins their satisfaction and loyalty.
- Observation: Sometimes, we don’t communicate with our customers face-to-face. In addition to strengthening communication via email or instant messaging software, pay attention to their updates in JIRA and Confluence, who was copied in emails or involved in the topic, the format or framework of the document the client created, and even the time they sent an email. Details like these can provide clues to the context of their concern and help dig up clients’ potential demands so that you can provide more help before they get the chance to ask for assistance.
Eliciting and understanding unspoken requirements is a critical skill, mostly because it’s such a simple process that provides such great benefits, like knowing what your clients need – perhaps even before they know what they need. Client communication might be difficult at times, especially when they aren’t expressing an exact need, so take a step back and you’ll be able to predict the steps necessary to make your clients happy.