Skip to main content

Requirements Concepts

Confusion over product requirements terminology and concepts is pervasive. Companies are producing MRDs, PRDs, and SRSes without even understanding what "requirement" means. Despite this wasteful and unnecessary requirements document proliferation, companies are neglecting key nonfunctional requirements.

To help educate the product management and development community, I have put together a comprehensive model of concepts relating to requirements. To view or download the full-size conceptual model, click the image below:


(See my post on conceptual models if you have trouble understanding the diagram.)

A sampling of the terms that the conceptual model explicates:

  • functional requirement
  • nonfunctional requirement
  • attribute
  • constraint
  • metric
  • specification
  • condition
  • user
  • stakeholder
  • use case
You are free to distribute, copy, or print out the diagram, but please do not remove the copyright information on the bottom right.

Comments

Unknown said…
Where in your Requirements Concept would I identify my need/problem to reduce my operating costs and that by investing in a new application, say an ERP, I will achieve a Return on Investment such that my operating costs will be reduced by 30% within 2 years.
Roger L. Cauvin said…
Leonard, in the example, it sounds like excessive operating costs are the problem.

If the problem we commit to solving is

"Annual operating costs exceed x."

Then the requirement is

"Use of the product shall result in annual operating costs not to exceed x."

But in all likelihood we wouldn't commit to solving this problem. Instead, we would identify a lower-level set of problems such as:

"The amount of time spent planning resources exceeds x hours per month."

and

"The frequency of non-optimal resource planning decisions exceeds x per month."

Then the functional requirement would be:

"The product shall enable the user to plan resources."

And among the nonfunctional requirements would be:

"For users with profile y and resource profile z, the amount of time spent planning resources shall not exceed x hours per month."

and

"For users with profile y and resource profile z, the frequency of non-optimal resource planning decisions shall not exceed x per month."
Unknown said…
You might like to check out the BA BOK at theiiba.org. I would describe your definition as a tailoring of the IIBA definition - which means it is made more useful for the situation you are in.
Roger L. Cauvin said…
Jules, thanks for pointing me to the BABoK document. The definition of "requirement" is essentially similar to the IEEE definition. The difference between my definition and the BABoK/IEEE definition is the insertion of the "least stringent" wording.

Without the "least stringent" part, virtually any condition - including detailed design specifications - could be requirements. See here for details.
yasodhara said…
Roger:

I appreciate your analysis and formulation of statement of requirement.

This approach and conclusion are well defined in the TQM literature (7 methods 7 Tool of Quality Improvement). They are sound and applicable to most situations with a bit of tailoring or adaptation.

I particularly like

"Without the "least stringent" part, virtually any condition - including detailed design specifications - could be requirements."

This is the trap people fall into and get into endless arguments about there being no distinction between requirement and design. It is amazing how serious professionals of good standing plunge headlong into this.

Now about "requirement" the popular IEEE definition which is widely quoted is SRS which is more appropriately "System Capability Specification---NOT Business or User Need specification"

IEEE realized this mistake after decades of misapplication in 2011. Now the very basis of "requirement" specification by IIBA and IREB is knocked off. IIBA has a new definition based on their Core Concepts Model. IREB still sticks (without any justification) to the old IEEE definition which IEEE itself has discarded.

I have not recently checked what is the stand of BSC (UK based) on requirements. They were not in the spell of IEEE from what I recall.

So people may be more receptive to your definitions and explanations of requirements.

Best wishes,

Putcha V. Narasimham
09FEB14
Small correction:

Yasodhara used google account last on my notebook pc. So my previous message was attributed to her.

Anyway my name at the end of message indicates the real author.

Sorry for the error.

Putcha V. Narasimham
09FEB14
Roger L. Cauvin said…
Putcha, thanks for the interesting update on how the different organizations and standards bodies (IEEE, IIBA, IREB) have evolved their definitions of "requirement".

Can you point me to more information about the IEEE's 2011 change?

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