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 her 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.

1 comment :

Putcha V. Narasimham said...

Very thoughtful and deep. This may be attempted but every attempt may not lead to the discovery of real or pure requirement.

The test recommended is very sound. The verdict is likely to be "Design" most often.

This applies to "Abstraction" also---"extracting the essence and representing it".

This calls for a lot time for reflection / meditation---desirable but not practical!