What do you think?
Rate this book


Kindle Edition
Published July 30, 2022
1: A precise definition of requirements concepts, and a classification of requirement kinds.In the preface, Meyer quite rightly criticizes some IEEE and ISO definitions of requirements and requirements elicitation; in chapter 1, he provides a carefully crafted definition of requirements. From the start of chapter 1, he distinguishes four kinds of requirements: Project, Environment, (business) Goals, and System ( abbreviated as PEGS) requirements:
2: A discussion of general requirements principles.
3: A Standard Plan applicable to the requirements of any project.
4: A review of the quality attributes for requirements and associated verification criteria.
5: Precise guidelines on how to write effective requirements.
6: A description of how to obtain requirements, a process known as elicitation.
7: A discussion of use cases and other scenario-based requirements techniques.
8: A presentation of the object-oriented approach to requirements.
9: An introduction to formal requirements, using mathematical rigor for precision.
10: An important kind of formal specification, abstract data types.
11: What it means for requirements to be “complete”, and how to achieve this goal.
12: How to make requirements a core part of the project lifecycle.
- A goal is a result desired by an organization.He meticulously explains what the PEGS requirements are, clearly distinguishing special cases of goals such as obstacles, environment constraints such as business rules, laws of nature, prefixed engineering decisions, assumptions (posited properties of the environment), effects (environment property affected by the system), and , invariants (an environment property that must be maintained). He also distinguishes between functional and non-functional system requirements, as is to be expected, and provides an explicitly incomplete list of non-functional requirements, namely,
- A system is a set of related artifacts, devised to help meet certain goals.
- A project is the set of human processes involved in the planning, construction, operation and revision of a system.
- An environment is the set of entities (such as people, organizations, devices and other material objects, regulations, and other systems) external to the project and system but with the potential to affect the goals, project or system or to be affected by them.
… properties of performance (timing properties on operations, parameters of storage use or bandwidth), security, and privacy.I also liked his definition of a requirements level justification:
Explanation of a project or system property in reference to a goal or environment property.The first chapter also provides a correct definition of stakeholders as:
...the groups of people recognized by the project as having the potential to affect, or be affected by, the project, environment, goals or system.Meyer’s analytic framework of requirements is a key contribution of the book.
Record all the consequences of the requirements on the project and system.Chapter 3 (Standard Plan for Requirements) proposes organizing the requirements into four “books”, one for each PEGS setting out the “chapters” for each book in a straightforward and attractive way. For example, the Project Book should contain the following chapters:
Record the requirements sources of project and system elements.
P.1 Roles and personnelwhile the Goals Book cleaves to most Business Analysis frameworks to include chapters on:
P.2 Imposed technical choices
P.3 Schedule and milestones
P.4 Tasks and deliverables
P.5 Required technology elements
P.6 Risk and mitigation analysis
P.7 Requirements process and report
G.1 Context and overall objectiveChapter 4 (Requirements quality and verification) is one of the key chapters in the book and prescribes fourteen assessable quality criteria for requirements: Correct, Traceable, Justified, Delimited, Complete, Readable, Consistent, Modifiable Unambiguous, Verifiable, Feasible, Prioritized, Abstract, and Endorsed.
G.2 Current situation
G.3 Expected benefits
G.4 Functionality overview
G.5 High-level usage scenarios
G.6 Limitations and exclusions
G.7 Stakeholders and requirements sources
Use cases and user stories cannot by themselves define requirements. Several reasons make them insufficient for that purpose.Even though he describes INVEST user stories, he is not sanguine about their use as requirements. However he does recommend user cases and user stories as techniques for requirements elicitation:
Note first that scenarios only apply — out of the four PEGS — to the System and to the Goals. They bring nothing to the specification of the Project and Environment.
Take advantage of use cases, user stories, use case slices, tests and other forms of scenarios as tools for elicitation and verification of requirements.Meyer believes there are some important deficiencies in use cases and user stories and devotes the next three chapters to proposing, in their stead, object-oriented requirements (chapter 8), formal methods (chapter 9), and object-oriented requirements based on abstract-data types as models (chapter 10). He also claims that such an approach allows the requirements to be written in the same language as the code, showing how this would look in Eiffel. These are provocative statements and I am not entirely convinced by the chapters. Of course, looking at object-oriented requirements in the sense Mayer presents them, harks back to EER modeling, so it is not unreasonable and certainly has a distinguished history. Such an object-oriented perspective is also related to UML-modeling, but where UML is born from an attempt at integrating several diagrams and models such as use cases, EER-based class diagrams, an object constraint language (OCL) and automata into the same framework, Meyer strives to substitute the multiple UML diagrams and models with the high-level mechanisms available in Eiffel. The idea certainly merits further, more detailed analysis and I, for one, look forward to the announced companion to this book, Jean-Michel Bruel, Sophie Ebersold and Mariya Naumcheva’s Effective Requirements: Complete Examples and Practical Material. According to Meyer, the book was to be published in 2022, but a search on the Springer website (October 1st 2025) reveals it is due to be published on November 16th 2025 under a changed title, Applying Requirements and Business Analysis.
Do not use them as a substitute for actual requirements specifications.
A set of requirements is goal-complete if for every goal there exist project or system requirements ensuring the achievement of that goal.. However although traceability certainly helps determine if a goal has been linked to project or system requirements, determining whether achievement of those project or system requirements ensure that a particular goal would be met is an entirely different kettle of fish. Suppose one of the goals is to ensure an organization’s revenue increase by 20% after the first six months of system operation -only by implementing the system, operating it and measuring revenue after six months of operations can one know whether the target has been met.