Distinguishing Between Requirements and Specification

Share this

Requirements and SpecificationI often hear the term specification used for referring requirements…

Some organizations try to produce a single specification to act as both a requirements definition and a requirements specification. When a requirements definition is combined with a specification there is often confusion between concepts and details. There’s no really clear distinction in it’s usage, though the difference is really simple.

Then, what are requirements and specification? If you look on the Project Performance International site, the difference is explained in a very simple manner:

Requirements are totally abstract things. A requirement is simply something that somebody requires. The Oxford English Dictionary defines a requirement as an order, a demand, an imperative. In the most common engineering context, a requirement is a required characteristic of something that is to be engineered or otherwise acquired. A specification is a specific record [1], .. of something.

You may specify what are the system’s requirements, collect them together and/or structure them under functions, case when you have the Requirements Specification. Or you may specify the solution, the way you intend to fulfill the needs, case when you have a Design Specification. Furthermore, you may describe the features of the product, its actual characteristics and performance, then you have the Product Specification. The most common examples are the component datasheets: E.g.: The μC datasheet: specifies (read describes) how/what the product does, its real and physical performace -> a-posteriori. Then, we get this recurring word: specification, that can, and is, interpreted quite differently in different contexts. So, to summarize: Requirements: describe/show what the product should do -> a-priori of its physical implementation. They don’t talk about the actual product, but rather about the product to be, about the (customer) needs the product is requiredto fulfill.

Establishing correct requirements require people with both technical and communication skills. In addition, it is a tough abstraction problem and the implementation often gets mixed with the requirements. The complexity with establishing correct requirements makes it more of an art than an engineering skill [2].

Typically, a requirements set (collection of requirements describing a function) or a requirements document is reffered to as “Requirements Specification [Document]”. And here is where the confusion comes from:

John, send me please the spec. I need to finish this function by Friday.

She is actually refering to the document that specifies the requirements for that function!


[1] Project Performance International – What is the difference between requirements and specifications? [2] Electrical and Computer Engineering, the College of Engineering at Carnegie Mellon University – Requirements & Specifications