Sunday, November 26, 2006

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 conceptual model, click here. (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. And if you repost the diagram to your blog or web site, please do so by linking to the one hosted at Cauvin, Inc.

4 Comments:

At Fri Jan 26, 11:46:00 AM 2007 , Blogger Leonard.Sadauskas 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.

 
At Tue Jan 30, 09:23:00 AM 2007 , Blogger 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."

 
At Wed Feb 07, 04:54:00 PM 2007 , Blogger Jules 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.

 
At Fri Feb 09, 11:33:00 PM 2007 , Blogger 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.

 

Post a Comment

Subscribe to Post Comments [Atom]

<< Home