In agile: Criteria that the implementation of a ↑user story must satisfy in order to be accepted by the ↑stakeholders.
Acceptance criteria may also be written for ↑backlog items other than user stories.
The CPRE Glossary covers the core terms of Requirements Engineering. The definitions of the terms are generally given in English and have not been translated. This avoids any vagueness or room for interpretation that may result from translations. In addition, the terms of the CPRE Glossary are harmonized with the terminology of the ISTQB.
The online glossary corresponds to the version available for download and is the central reference for the CPRE Foundation Level and the CPRE Advanced Level. For the Advanced Level RE@Agile, a supplementary glossary that defines the terms for Requirements Engineering in the agile environment is available for download.
In agile: Criteria that the implementation of a ↑user story must satisfy in order to be accepted by the ↑stakeholders.
Acceptance criteria may also be written for ↑backlog items other than user stories.
A diagram type in ↑UML which models the flow of actions in some part of a ↑system including ↑data flows and areas of responsibility where necessary.
The degree to which a ↑requirement expresses the ↑stakeholders' true and agreed desires and needs (i.e., those they had actually in mind when stating the requirement).
Agile development is characterized by focusing on delivering a working product in each iteration, collaboration with ↑stakeholders with frequent feedback and adaptation of plans after each iteration based on feedback and changed ↑requirements.
A stable, change-controlled ↑configuration of ↑work products.
Baselines serve for ↑release planning and release definition as well as for project management purposes such as effort estimation.
The way in which a ↑system reacts to stimuli, changes its state and produces observable results.
Stimuli may be events or changes of conditions. Their origin may be external or system-internal.
A ↑model describing the ↑behavior of a ↑system , e.g., by a ↑state machine.
A ↑requirement stating a business ↑goal , objective or need of an organization.
Business requirements typically state those business goals, objectives and needs that shall be achieved by employing a ↑system or a collection of systems.
A committee of ↑customer and ↑supplier representatives that decides on ↑change requests .
Abbreviation: CCB
The Change control board should not be confused with a change advisory board, which is a committee that evaluates change requests for a ↑system in operation and typically has no decision power.
In RE: A well-argued request for changing one or more ↑baselined ↑requirements.
A representation of a set of ↑objects of the same kind by describing the structure of the objects, the ways they can be manipulated and how they behave.
A diagrammatic representation of a ↑class model.
A model consisting of a set of ↑classes and relationships between them.
The adherence of a ↑work product to ↑standards, conventions, regulations, laws, or similar prescriptions.
A consistent set of logically coherent ↑items. The items are individually identifiable ↑work products or parts of work products in at most one ↑version per item.
The degree to which a ↑work product conforms to regulations given in some ↑standard .
The degree to which a set of ↑requirements is free of contradicting statements.
A ↑requirement that limits the solution space beyond what is necessary for meeting the given ↑functional requirements and ↑quality requirements.
Context in the second meaning is also called the ↑system context.
The boundary between the ↑context of a ↑system and those parts of the ↑application domain that are irrelevant for the ↑system and its ↑requirements.
The context boundary separates the relevant part of the environment of a system to be developed from the irrelevant part, i.e., the part that does not influence the system to be developed and, thus, does not have to be considered during Requirements Engineering.
A person or organization who receives a ↑system , a ↑product or a ↑service . Also see ↑stakeholder .
A coarse description of the required capabilities of a ↑system from the ↑customer’s perspective.
A customer requirements specification is usually supplied by the customer.
Synonym: bug, fault
An imperfection or deficiency in a ↑work product that impairs its intended use.
A range of relevant things (for some given matter); for example, an ↑application domain .
A ↑model describing phenomena in an ↑application domain .
The degree to which resources are expended in relation to results achieved.
An umbrella term for requirements ↑elicitation, ↑negotiation and ↑validation.
In practice, both meanings are used. Where needed, the meaning of error can be disambiguated by using human error and observed error or observed fault, respectively.
A pilot system forming the core of a ↑system to be developed.
A throwaway ↑prototype used to create shared understanding, clarify ↑requirements or validate ↑requirements .
→ Defect
The capability of a ↑system to operate as intended despite the presence of (hardware or software) ↑faults .
Fault tolerance may be stated as a ↑quality requirement .
A distinguishing characteristic of a ↑system that provides value for ↑stakeholders .
A feature typically comprises several ↑requirements and is used for communicating with ↑stakeholders on a higher level of abstraction and for expressing variable or optional characteristics.
A ↑requirement concerning a result or ↑behavior that shall be provided by a function of a ↑system .
The capabilities of a ↑system as stated by its ↑functional requirements .
A desired state of affairs (that a ↑stakeholder wants to achieve).
Goals describe intentions of stakeholders. They may conflict with one another.
An addition to a ↑system under development that extends, enhances or refactors ( ↑refactoring ) the existing parts of the ↑system .
In ↑agile development, every ↑iteration produces an increment.
A formal ↑review of a ↑work product by a group of experts according to given criteria, following a defined procedure.
In agile development, iteration and ↑sprint are frequently used as synonyms.
A classification of requirements according to their kind into ↑system requirements (consisting of ↑functional requirements , ↑quality requirements and ↑constraints ), project requirements, and process requirements.
A medium-fidelity ↑prototype that demonstrates characteristics of a user interface without implementing any real ↑functionality .
In RE, a mock-up primarily serves for specifying and validating user interfaces.
An abstract representation of an existing part of reality or a part of reality to be created.
The degree to which a ↑work product or ↑system can be modified without degrading its ↑quality .
A high-fidelity ↑prototype that implements critical parts of a ↑system to an extent that ↑stakeholders can use the prototype to see whether the prototyped part of the system will work and behave as expected.
A ↑language that people use for speaking and writing in everyday life.
This is in contrast to artificial languages that people have deliberately created for specific purposes such as programming or specifying.
The degree to which an individual ↑requirement is a necessary part of the ↑requirements specification of a ↑system .
A ↑quality requirement or a ↑constraint .
↑Performance requirements may be regarded as another category of non-functional requirements. In this glossary, performance requirements are considered to be a sub-category of ↑quality requirements .
A ↑requirement describing a performance characteristic (timing, speed, volume, capacity, throughput, ...).
In this glossary, performance requirements are regarded as a sub-category of ↑quality requirements. However, they can also be considered as a ↑kind of requirements of its own.
The level of importance assigned to an ↑item , e.g., a ↑requirement or a ↑defect , according to certain criteria.
A set of interrelated ↑activities performed in a given order to process information or materials.
The notion of process includes business processes (e.g., how to commission and send ordered goods to ↑customers ), information processes (e.g., how to deliver records from a database that match a given query), and technical processes (e.g., cruise control in a car).
A software-based ↑system or a ↑service provided by a system which is developed and marketed by a ↑supplier and used by ↑customers.
An ordered, typically prioritized collection of work items that a development team has to work on when developing or evolving a ↑system .
Items include ↑requirements , ↑defects to be fixed, or ↑refactorings to be done.
Quality in this definition means fitness for intended use, as stated in the ↑requirements. This is in contrast to the colloquial notion of quality which is typically connoted with goodness or excellence.
A ↑requirement that pertains to a quality concern that is not covered by ↑functional requirements.
Multiple occurrence of the same information or resource.
A ↑configuration that has been released for installation and use by ↑customers.
The degree to which a ↑system performs specified functions under specified conditions for a specified period of time.
Reliability may be stated as a ↑quality requirement .
Requirements conflicts have to be solved by ↑requirements negotiation.
A document consisting of a ↑requirements specification.
Requirements document is frequently used as a synonym for requirements specification.
Synonym: elicitation (of requirements)
The process of seeking, capturing and consolidating ↑requirements from available ↑sources, potentially including the re-construction or creation of requirements.
A person who – in collaboration with ↑stakeholders – elicits, documents, validates, and manages ↑requirements.
In most cases, requirements engineer is a ↑role and not a job title.
The systematic and disciplined approach to the ↑specification and management of ↑requirements with the goal of understanding the ↑stakeholders’ desires and needs and minimizing the risk of delivering a ↑system that does not meet these desires and needs.
Abbreviation: RE
The process of managing existing ↑requirements and requirements-related ↑work products, including the storing, changing and tracing of requirements ( ↑traceability ).
A ↑process where ↑stakeholders are working toward reaching an agreement to resolve ↑requirements conflicts.
The source from which a ↑requirement has been derived.
Typical sources are ↑stakeholders, documents, existing ↑systems and observations.
A systematically represented collection of ↑requirements , typically for a ↑system , that satisfies given criteria.
A template for specifying ↑requirements.
In RE, several forms of templates are used. ↑Phrase templates are used for specifying individual ↑requirements or ↑user stories . ↑Form templates can be used to specify ↑use cases or ↑quality requirements. ↑Document templates provide a predefined structure for ↑requirements documents.
An evaluation of a ↑work product by an individual or a group in order to find problems or suggest improvements.
Evaluation may be performed with respect to both contents and conformance.
A possible event that threatens the success of an endeavor.
A risk is typically assessed in terms of its probability and potential damage.
The capability of a ↑system to achieve an acceptable level of probability that the system, under defined conditions, will not reach a state in which human life, health, property, or the environment is endangered.
Safety ↑requirements may be stated as ↑quality requirements or in terms of ↑functional requirements.
The range of things that can be shaped and designed when developing a ↑system .
The degree to which a ↑system protects its data and resources against unauthorized access or use and secures unobstructed access and use for its legitimate ↑users.
Security requirements may be stated as ↑quality requirements or in terms of ↑functional requirements.
The meaning of a sign or a set of signs in a ↑language .
The provision of some ↑functionality to a human or a ↑system by a provider (a system, organization, group or individual) that delivers value to the receiver.
A ↑requirements specification pertaining to a software ↑system .
Abbreviation: SRS
A specification may be about required properties ( ↑requirements specification ) or implemented properties (e.g., a technical product specification).
An ↑iteration in ↑agile development, particularly when using ↑Scrum.
A person or organization who influences a ↑system’s ↑requirements or who is impacted by that system.
Influence can also be indirect. For example, some stakeholders may have to follow instructions issued by their managers or organizations.
A ↑requirement expressing a ↑stakeholder desire or need.
Stakeholder requirements are typically written by stakeholders and express their desires and needs from their perspective.
A formal, possibly mandatory set of regulations for how to interpret, develop, manufacture or execute something.
In RE, there are RE-relevant standards issued by ISO/IEC and IEEE.
A diagrammatic representation of a ↑state machine .
A ↑state machine having states that are hierarchically and/or orthogonally decomposed.
A word having the same meaning as another word.
The rules for constructing structured signs in a ↑language .
The part of a ↑system’s environment that is relevant for the definition as well as the understanding of the ↑requirements of a ↑system to be developed.
A ↑requirement pertaining to a ↑system .
A ↑requirements specification pertaining to a ↑system .
A system requirements specification is frequently considered to be a synonym for ↑requirements specification.
Abbreviation: SyRS
In RE, tools support ↑requirements management as well as modeling, documenting, and validating ↑requirements.
Abbreviation for Unified Modeling Language, a standardized language for modeling problems or solutions.
The degree to which a ↑requirement is expressed such that it cannot be understood differently by different people.
The degree to which an ↑item is comprehensible to its intended users.
Typical items are: a ↑system , a ↑work product , or a part thereof.
A set of possible interactions between external ↑actors and a ↑system that provide a benefit for the actor(s) involved.
Use cases specify a system from a user’s (or other external actor’s) perspective: every use case describes some ↑functionality that the system must provide for the actors involved in the use case.
A diagram type in UML that models the ↑actors and the ↑use cases of a ↑system .
The boundary between the actors and the use cases constitutes the ↑system boundary.
A person who uses the ↑functionality provided by a ↑system .
Users (also called end users) always are ↑stakeholders of a ↑system .
A ↑requirement expressing a ↑user need.
User requirements are typically about what a system should do for certain users and how they can interact with the system. User requirements are a subset of ↑stakeholder requirements .
A description of a need from a ↑user’s perspective together with the expected benefit when this need is satisfied.
The ↑process of confirming that an ↑item (a ↑system , a ↑work product or a part thereof) matches its ↑stakeholders’ needs.
In RE, validation is the process of confirming that the documented ↑requirements match their ↑stakeholders’ needs; in other words: whether the right requirements have been specified.
The degree to which the fulfillment of a ↑requirement by an implemented ↑system can be verified.
Such ↑verification can be performed, for example by defining ↑acceptance test cases, measurements or ↑inspection procedures.
An occurrence of an ↑item which exists in multiple, time-ordered occurrences where each occurrence has been created by modifying one of its previous occurrences.
An excerpt from a ↑work product , containing only those parts one is currently interested in.
A view can abstract or aggregate parts of the work product.
A ↑review in which the author of a ↑work product leads the reviewers systematically through the work product and the reviewers ask questions and make comments about possible issues.
A low-fidelity ↑prototype built with simple materials that primarily serves for discussing and validating requirements, design ideas or user interface concepts.
When prototyping digital systems, wireframes are typically built with paper. Such prototypes are also called paper prototypes.
Synonym: artifact
A recorded, intermediate or final result generated in a work ↑process .
The CPRE glossary is also available for download as PDF document in:
• Chinese (Mandarin)
• Dutch
• English
• French
• German
• Italian
• Persian
• Polish
• Portuguese (Brazil)
• Russian
• Swedish
• Spanish