Tuesday, December 20, 2005

Requirements "Testing"

Does your product manager "test" the product requirements she specifies?

No, I'm not asking about testing the product, I'm asking about testing the requirements for the product. What is "requirements testing"?

Requirements testing is a way to assess the clarity and completeness of product requirements by conducting thought experiments. These thought experiments sometimes expose ambiguity or oversights in the requirements.

Types of requirements testing include:
  • Walk through product usage scenarios. While mentally walking through usage scenarios, ask yourself whether you could satisfy all the documented requirements yet still end up with a frustrated user.
  • Design a product test. Imagine how you would test the product to determine whether it satisfies the requirement. Keep in mind the distinction between testability in principle and testability in practice. Even if it's not practical to directly test whether the product satisfies the requirement, there should be some way to devise tests that indirectly do so.
  • Design a fantasy solution. Consider the problem that a requirement is supposed to address. Think of the most desirable solution to the problem, no matter how unrealistic it is. If the requirement doesn't allow for this solution, then it contains design assumptions that you should purge from it. For example, for ease of use requirements, imagine the user could use telepathy or psychokinesis to accomplish their goals.
Keep in mind that, even if product managers use these requirements testing approaches, product development and testing will inevitably expose unanticipated requirements. These approaches are not a substitute for agile product management.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home