Skip to main content

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.

Comments

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!

Popular posts from this blog

Why Spreadsheets Suck for Prioritizing

The Goal As a company executive, you want confidence that your product team (which includes all the people, from all departments, responsible for product success) has a sound basis for deciding which items are on the product roadmap. You also want confidence the team is prioritizing the items in a smart way. What Should We Prioritize? The items the team prioritizes could be features, user stories, epics, market problems, themes, or experiments. Melissa Perri  makes an excellent case for a " problem roadmap ", and, in general, I recommend focusing on the latter types of items. However, the topic of what types of items you should prioritize - and in what situations - is interesting and important but beyond the scope of this blog entry. A Sad but Familiar Story If there is significant controversy about priorities, then almost inevitably, a product manager or other member of the team decides to put together The Spreadsheet. I've done it. Some of the mos

Is Customer Development Pseudoscience?

The “Science” of Lean Startup Lean startup practitioners embrace the scientific method, seeking the "truth" about what business model and strategy will lead to product success. We do so by: Formulating hypotheses Crafting and running experiments to test them Learning from the experiments Iteratively feeding our learnings back into revised hypotheses Sounds pretty scientific, at least in spirit, doesn't it? Yet this process actually neglects a key ingredient in the scientists' mode of operation. To identify what’s missing, let’s examine “customer development”. Customer Development Steve Blank is one of the pioneers of the lean startup movement. He introduced into the lean startup lexicon the term “customer development”. Customer development consists of sessions and interactions with customers to test hypotheses. For example, a product manager might interview a prospect, asking if she agrees with the product manager’s hypotheses about the problem

Interaction Design: the Neglected Skill

Your product development organization has a big, gaping hole in it. (Be prepared to feel defensive as you continue reading.) One of the most important roles in product development is the role of interaction designer. An interaction designer designs how the users will interact with the product and conceptualize the tasks they perform. He decides whether, for example, the user interface will be command driven, object oriented (clicking on objects then specifying what to do with them), or wizard based. The interaction designer decides the individual steps in the use cases. Every company has one or more people that play the interaction designer role. Usually, those people have little or no expertise in interaction design. Sadly, they typically don't even realize how unqualified they are. Let's see who typically plays the role at companies. Engineer . An engineer is an expert on building what is designed. Yes, an engineer may know how to design the internal structure of the hardware