Requirements and specifications, two terms that are both completely separate but used in many cases almost interchangeably. So what is the difference? Here are our thoughts on the subject, just one opinion amongst many of course:
Requirements come first, laying out what the widget should do, look like, and the like. It does not tell how the widget should achieve these requirements.
Specifications provide a more detailed list of exactly the function, inputs, outputs, appearance, dimensions and the like. A specification shows in detail one possible solution to the requirements, but does not include the actual implementation.
The design is a specific implementation of a solution to the specification. It is then judged by whether or not it meets the specification, so this in turn means that a specification should be specific enough so that the resulting design can be clearly verified against said specification.
Note that in many disciplines an iterative approach may be needed. For example, in mechanical engineering drawings become part of the specification but are created / finalized during design. Industrial design—look and feel and user interface—almost always start with requirements then specs then samples of potential designs which drive changes in specs or even requirements.
In many cases certain parts of a specification may be very specific. It is not uncommon to call out very specific solutions such as “use the XYZ chip from ZYX corp.” External specifications, such as regulatory or customer specs, are also very often appended. Materials may be specified exactly—as specific grade of stainless; or more generally—meets the following corrosion specs, etc.
- The requirements for a printed circuit board are that it flash a red and a green LEDs in sequence, once a second. The specification is that the LED brightness and color falls within such and such a range and that the blinking occurs at between X.X and Y.Y Hz. Quite often the spec would also include a block diagram, and as above, may or may not include call outs for specific components (LED part number WWW.ZZZ). The design includes the detailed schematic, BOM and layout for specific LEDs, driving circuitry, timing circuitry and perhaps some firmware to meet this spec.
- The requirements for an enclosure are that it be resistant to corrosion, size of XXX, contain the following subsystems and have the following buttons. The specification might call out injected molded plastic using resin YYY or might call out a cost spec along with technical requirements. The spec will need to contain drawings, but those may have to be generated iterative with the design. The spec may also call out specific standards such as IP54 for dust and moisture ingress. The design includes the CAD work, the technical analysis, as well as specifying the materials, connectors, buttons etc.