In product development and process optimization, a requirement is a singular documented physical and functional need that a particular design, product or process must be able to perform. It is most commonly used in a formal sense in systems engineering, software engineering, or enterprise engineering. It is a statement that identifies a necessary attribute, capability, characteristic, or quality of a system for it to have value and utility to a customer, organization, internal user, or other stakeholder. A requirement specification (often imprecisely referred to as the spec, because there are different sorts of specifications) refers to an explicit set of requirements to be satisfied by a material, design, product, or service.[1]