In computing, definition elicitation is the process of finding and studying the requirements of a software system from various users, clients, and various stakeholders. The process is also sometimes called “Requirements research”. In the most general sense, requirements exploration involves users researching technical problems, or “posing” questions that need to be answered by a software system. An application’s requirements describe the ways in which users may use it, along with their types of use (for example, user involvement or non-interactive).
One way of thinking about requirements exploration is to think of it as a way of asking the questions that are central to the product’s purpose. The product goal is often given in the form of a definition, along with an explanation of why the product exists, what it does, what it should do, what it is capable of, what it should be used for, what its users need, etc. A definition, if made well understood, will motivate users to use the system. Thus, the product goal is a very important part of requirements discovery. Often, however, the product goal is very vague, leaving us with the problem of how to make users understand what they are buying.
In this case, it is helpful to take two things into account. First, the definition must provide enough information to allow the user to state what he wants to buy. Second, it must allow the user to visualize what his use of the product will be. Both of these are important to the designers of the software system, who must take a close look at both these goals when coming up with a definition. A clearly stated definition will reduce the number of suggestions that are rejected during discussion with the users and increase the likelihood that the product meets the user’s needs.
As a practical matter, I suggest that we use a program that presents the definition we want in an easy-to-read format. This makes the text easy to read even for a nontechnical user. It also forces the user to examine the other descriptions of the product, as well as the system in general. By forcing the user to pay attention to the definition in addition to the other information presented to him, we greatly improve the chances that he will buy the product. Thus, penetration testing can be more successful.
In usability testing, I recommend trying to elicit some of the more basic questions. These are not very difficult questions, per se. They are questions that most people tend to answer incorrectly. For example, “How does this work?” is a common question, but it usually yields incorrect results. I encourage usability testing professionals to ask this question to both confirm the answers and get closer to the heart of the program in general.
Another area to check for during usability testing is the absence or excess of functionality. It seems that all programmers include a great deal of functionality in their products, but very few customers truly need it. We must learn to weed out the functionality that is not really necessary in order to make our customers happy. Thus, we must have a very good mechanism for measuring functionality that we can use during our usability testing.
Lastly, when dealing with usability testing, we need to verify that the program functions well under normal conditions. Most testing professionals will tell you that the worst thing you can do during testing is to allow a customer to use a product under normal conditions, as they may accidentally cause damage to the machine or become confused by its workings. Thus, we should verify that our software performs well in these conditions before giving it to the public. Otherwise, our customers will be unhappy and will stop using our services.
These three rules have a great deal of value for usability testing professionals. In fact, I believe that they are rules that should be considered as the most important of all. After all, a good rule book makes the job of a usability tester much easier. Indeed, the three mentioned above are very valuable tools for effective usability testing. So, take them seriously and set your goals accordingly.