This document is an extracted chapter of the Companion book of Bertrand Meyer’s Handbook of requirements and business analysis. Some of the links, pointing to other parts of the Companion book will hence be deactivated. |
We have collected in that appendix a set of questions that were often asked during the early presentations of PEGS. They are not provided in a particular order but have been grouped by main concerns.
1. Kinds of requirements and specific concepts
1.1. Multiple categories
Can a requirement belong to multiple categories (e.g., being both a limit
and an invariant
)?
No. If you hesitate between two or more, chose the one that makes the most sense. |
1.2. Actors
How are actors identified in PEGS?
An actor is responsible of a task or a behavior, and can be represented:
|
1.3. Constraints versus Imposed technical choices
How to distinguish between constraints and Imposed technical choices?
An imposed technical choice is indeed a constraint. Nevertheless it is better to separate them from the other environment constraints in a separate chapter. We advice to systematically check constraints and find any technical choice to move them to (or make sure they are referenced in) the corresponding chapter (P.2—Imposed technical choices). |
1.4. Constraints versus Assumptions
How to distinguish between constraints and assumptions?
The difference between a constraint and an assumption can sometimes seem fuzzy. It comes from the fact that the same condition can be a constraint for a certain domain (e.g., a network provider) and an assumption for another (e.g., a system developer using that network). If an environment condition:
An equivalent characterization defines how the condition affects the work of the developers (defined as any people involved in the development of the system):
The following table is a non-exhaustive list of characteristics that can help differentiate the two concepts.
|
1.5. Effect versus Functional requirement
How to distinguish between an effect and a functional requirement?
Let’s imagine a campus where classrooms are equipped with some LED display (outside of each classroom) about the scheduled courses. An example effect of the system is “the display for every classroom shall indicate the occupation schedule for the room for the current 24-hour period”. An example functional requirement (addressing that effect) is, in the specification of a scheduling operation, “update the displays for all classrooms affected by the new scheduling”. + TIP: Each effect requirement should be associated with at least one functional requirement. |
1.6. Effect versus Expected benefits
How to distinguish between an effect and an expected benefit?
See discussions on requirements |
1.7. Rationale
How are rationales managed in PEGS?
We use the term justification. In PEGS, a justification is a case of meta-requirement which corresponds to an argument explaining the reason for a property of the System or Project in terms of a Goal or of an Environment property. |
1.8. Interviews and reviews
How are interviews reports and reviews managed in PEGS?
Interviews and reviews play a critical role in requirements engineering, serving as essential techniques for gathering, validating, and refining requirements (see chapter 6 of the Handbook about gathering requirements). Whatever approach is used to conduct these crucial steps for requirements engineering, it is a valuable addition to the documentation. We consider that the best place to describe the interviews and reviews processes is the chapter P.7—Requirements process and report. |
1.9. Software Architecture
Where should I describe my software architecture in PEGS?
While not fully in the scope of requirements engineering, integrating software architecture considerations can help creating a strong foundation for the development of a software system that meets both the functional and non-functional needs of stakeholders. In addition, if the system of interest either already exists or is based on an existing one, this should be described in the requirements documentation. Here are some examples of additional details that can be added:
|
1.10. Security
How do I deal with specific (or crosscutting) concerns such as Security in PEGS?
Handling specific concerns, such as security, in requirements engineering is a common practice. For security aspects, the purpose is to ensure that the software system is designed, developed, and deployed with the necessary security measures to protect against potential threats and vulnerabilities. Most of the requirements dedicated to a particular concern (such as security) will be expressed as constraints on either the system itself (chapter E.3—Constraints) or on the development (chapter P.7—Requirement process and report). We advise to also use chapter S.5—Prioritization to emphasize on the different aspects of the system’s specific concerns. If a particular approach is dedicated to this concern, or if specific artifacts need to be produced, or if specific steps need to be validated in the process, these should be described in the P.4—Tasks and deliverables chapter. |
2. Agile approach
If I want to use PEGS, but I have already an Agile process to follow, where can I define my agile key artifacts?
Requirements engineering plays a crucial role in Agile approaches such as Scrum, although its implementation and emphasis may differ from traditional waterfall methodologies. In the following we discuss some of the key concerns of Scrum and how PEGS can handle them. |
- Product Backlog
-
In Scrum, the product requirements are captured in the Product Backlog. The Product Backlog is a dynamic and prioritized list of
user stories
,features
,enhancements
, andbug fixes
that need to be implemented over time. These items represent the requirements of the product.User stories
are discussed in the next point due to their importance. We consider thatfeatures
,enhancements
, andbug fixes
are development artifacts.
As such, classical product backlog artifacts do not need to be explicitly mentioned in one of the four books. Nevertheless:
-
a list of features would make sense in chapter S.2—Functionality, and
-
each artifact should refer to at least one requirement.
- User Stories
-
Instead of detailed and exhaustive documentation of requirements, Agile methodologies use user stories (see chapter 7.2 of the Handbook). They are concise, informal descriptions of a feature from the perspective of the end-user or customer. These stories, while not being requirements as such, are an efficient way to illustrate them.
We consider that the best place to list them is the chapter S.4—Detailed usage scenarios where they might replace (or complement) use cases
for example.
Epic
, could be listed in G.5—High-level usage scenarios.
- Personas
-
A
persona
is a fictional representation of a particular user type or archetype that represent the various segments of the target audience. Personas encapsulate user characteristics, goals, needs, behaviors, and pain points.
As such, they can be detailed in a dedicated part of chapter G.7—Stakeholders and requirements sources.
- Prioritization and Refinement
-
In agile methods, requirements are continuously prioritized based on their value and potential impact. The
Product Owner
(who should be listed in P.1—Roles and personnel) is responsible for maintaining and prioritizing the Product Backlog.
We advise maintaining a separate document (which might be an appendix of the requirements documentation) that prioritizes the requirements (or user stories) with their reference from the Requirements book. This allows to preserve the reference of the requirements while considering the required agility in treating them.
If not in a separate document, the chapter S.5—Prioritization can be used for this purpose, with a particular care of its versioning and dynamic nature if used in an agile context.
- Sprint Planning
-
In Scrum, work is organized into time-bound iterations called sprints. During Sprint Planning, the team selects a set of user stories from the Product Backlog to work on in the upcoming sprint. The selected user stories are broken down into smaller tasks, helping the team better understand the requirements and estimate the work involved.
We consider that the best place to describe those plannings is the chapter P.3—Schedule and milestones (with complementary details potentially in P.4 Tasks and deliverables).
3. Goal-Oriented Requirements Engineering
Goal-oriented approaches like KAOS (Knowledge Acquisition in Automated Specification) focus on capturing and analyzing goals and their relationships to derive system requirements. It helps to ensure that the resulting system meets the intended goals and objectives of its stakeholders. Here’s how PEGS fits into these approaches.
3.1. Goal Modeling and Decomposition
Can I use Goal-Oriented Requirements Engineering (GORE) with PEGS?
In KAOS, the primary focus is on modeling We consider that the best place to describe this hierarchy is the chapter G.3—Expected benefits. The systematic referencing mechanisms should also enforce the traceability between sub-goals and goals. |
3.2. Responsibility Modeling
How can I represent GORE responsibilities in PEGS?
KAOS introduces the concept of Agents can be listed in:
Responsibilities can be specifically identified as such in chapter S.4—Detailed usage scenarios. |