UNIT 7 CHECKING AND RECONCILING REQUIREMENTS Flashcards
Why should requirements be validated, what could happen if wrong/erroneous requirements are selected and how could it impact the project progress?
- The process for reviewing and reconciling is designed to release the requirements for implementation in the downstream phases of the software project. The quality of the elicited and documented requirements must be assured before they are processed further.
- This is necessary because all further activities, such as the software development process, depend directly or indirectly on the documented requirements. Any error in the requirements that is not detected at an early stage is propagated via the technical specification and architecture through to the program code. A faulty requirement can usually be easily corrected, but by reformulating it in requirements engineering (RE), significant additional
effort is required when correcting errors in the software architecture or program code.
However, a considerable amount of effort has already been invested in the creation of erroneous code at this point, and the correction of the errors requires further effort. In
addition to correcting the errors, the system must be tested and put into operation. By carefully checking the requirements with comparatively little effort, errors that can be expensive to identify and correct in subsequent phases can be resolved earlier.
Furthermore, inadequately checked requirements can entail legal risks. In addition to contractual penalties due to non-compliance with delivery times, there is also the risk of vio-
lating legal requirements, such as the Data Protection Act, which can lead to legal consequences. - In addition to checking requirements for their technical and craftsmanship quality, it is particularly important that technical requirements are agreed on by all relevant stakeholders. The set of requirements released for implementation corresponds to the work order of a software project. The implementation of requirements in a system always requires effort. In addition, once requirements have been implemented, they cannot be
easily removed from the system. Therefore, an established and project-accompanying coordination process helps to select the most important requirements to be implemented. Process models that support evolutionary development, such as the requirements to be processed, are redefined for each cycle.
Coordination between stakeholders is required as soon as contradictions have been identified in the set of documented requirements. If the conflicting requirements come from different stakeholders, each of whom are also pursuing conflicting goals within the project, a conflict situation exists. Another trigger for a conflict is the identification of a contradiction between the documented requirements and the view of a stakeholder. Reasons for this situation can be, for example, changing the requirements of a system during the course of the project, or incomplete requirements elicitation.
Practice shows that conflicting requirements often result from a different understanding of terms, responsibilities, and the motivation for the project. The goal of coordination is to achieve a common and consistent understanding of the set of requirements among the stakeholders. Conflict management tools must be used to resolve the conflict while maintaining the stakeholders’ willingness to cooperate.
Name and define the four activities of the Reviewing and Reconciliation processes.
- Define Review Criteria: in the run-up to the review, the exact criteria required for the review must first be defined.
There are so many possible review criteria that not all of them can be considered equally, especially when reviewing extensive documentation or when there is time pressure.
Therefore, the relevant review criteria must be determined in advance. This largely depends on the project situation, the type and importance of the requirements, the time available, and the people scheduled for this. The requirements engineer is responsible for the creation. - Select Review Principles and Review Techniques: only after it has been decided which review criteria are actually relevant and it has been determined how many resources are available for the review, the review principles and review techniques are taken into account and appropriately selected.
- Perform Review and Document Results: once the technical preparation is finalized, an organizational audit must be planned. This includes organizing the required infrastructure, scheduling all of the participants, and, if
necessary, coordinating external experts. It is important to document the results of the audit. Troubleshooting and revising the documented requirements takes place afterwards, and is not part of the audit. - Reconcile Requirements and Manage Conflict: if contradictory statements were identified in the set of documented requirements during an audit, or if there are contradictions between stakeholders and documented requirements, these contradictions must be reconciled, and, if necessary, the conflicts must be resolved using suitable conflict management measures.
What does reviewing a requirement entail?
A review is a manual examination of work results. For example, this is carried out by examining, questioning, checking, and testing. The latter is performed when the object to be reviewed is a piece of software or an executable system. Testing is therefore understood as part of a review or as a special type.
A complete examination of requirements according to all conceivable criteria is not possible in practice, since the effort involved would not be economically reasonable in relation to the benefit. For this reason, there are various review criteria in RE literature, each of which focuses specifically on one aspect. For example, it is possible to distinguish between the three quality aspects of content, form, and coordination. They, in turn, are oriented to the goals of RE.
With the help of the quality aspects, the set of review criteria is structured in such a way that, when selecting the criteria, one can first identify the relevant quality aspects and then select the relevant criteria from the set of review criteria assigned to the quality aspects.
Name and describe the Review Criteria for Content Quality.
- Completeness of all requirements: where all of the documented requirements are considered.
- Completeness of individual requirements: each individual requirement is examined in order to determine whether
all relevant information for describing this requirement is available. - Necessity of requirements: A requirement is necessary when it describes a stakeholder’s desire, or the goal of the
development of a system or product. The description can be a function, service, or restriction. The requirements management procedures should ensure that the requirement is not only necessary, but also current and valid. This involves checking how relevant or necessary the requirement is for achieving the fomulated goal. All requirements are frequently documented, which the stakeholders find important at the moment of determination. However, not all requirements contribute
equally to the achievement of the project goal. Therefore, this criterion is used to specifically reflect on each requirement and to what extent it actually contributes to the project goal. It is also worth noting that requirements should be “atomic” and indivisable. This is because it is easier to administer single features in a requirement and incorporate any changes. Connected requirements, which form a molecule to stay in the picture, can be linked by a corresponding entry in the metadata or attributes. - Traceability: additional attributes or metadata of the requirements are needed. The requirements engineer should check whether the necessary information is documented. The active management of traceability, which should not be confused with revision management, helps the requirements engineer by using the requirements metadata. Requirements which are only valid until a certain date are marked by metadata using the appropriate notice. There are pre- and post-requirements for traceability.
- Adequacy: (also referred to as correctness) refers to the stakeholders’ wishes. In this case, we check whether the documented requirements reflect what the stakeholders wanted.
- Consistency: involves checking whether there are contradictions or inconsistencies in the set of documented requirements.
- No premature design decisions and technically solution-neutral: In this case, we check whether the requirements already specify how they need to be fulfilled without any binding organizational or legal boundary conditions. Requirements documents often impose unnecessary technical restrictions on input fields. Such requirements may still originate from old implementations. This is because these restrictions often conceal cross-references to dependencies that may not yet have been identified.
- Documentation of the domain-oriented problem: This process involves checking whether the domain-oriented problem can be identified for each documented requirement.
- Verifiability and testability: Verifiability or testability involve checking to see whether the corresponding acceptance
criteria and test cases for the acceptance tests can be created from the requirement documentation. The created system is tested with test cases that are created on the basis of the documented requirements. Therefore, the requirements must be formulated in such a way that their implementation can be checked after completion of the implementation.
Why Does a Requirement Specification Need Traceability?
Traceability supports different kinds of analyses, including:
* impact (collateral changes). Which requirements or artifacts are affected by changes?
* origin. Why does a requirement or artifact exist?
* coverage. Were all the requirements or artifacts considered for a complete solution?
* performance. How is the work progressing?
Professional traceability requires more than a unique requirement number. In this case, a traceability matrix (TM) (determines the completeness of a relationship) should be maintained, which is probably one of the most valuable methods, but it is almost never done. This is because maintaining a TM is time-consuming and error prone. Even if the matrix is partly generated by a machine, there is usually a high organizational and operational effort for its step-by-step completion, updating, and versioning. Tools, such as objectiF RPM, offer lean traceability to use most of the advantages with minimum maintenance effort.
Name and describe the Review Criteria for Documentation.
- Conformity to the document structure: This process involves checking whether the requirements have been documented in the correct place and whether all the required elements of the document structure have been
completed. - Comprehensibility: involves checking whether the formulated text can be understood by the reader and whether technical or project-specific terms and abbreviations are explained in the glossary.
- Unambiguity: This process involves checking whether the requirements can be understood exactly as they were intended or whether the form of documentation allows an unacceptably high degree of scope for interpretation.
- Conformity to documentation rules: The process of conforming to documentation rules checks whether the requirements have been documented in accordance with the current modeling conventions or other regulations. For example, there are often organization-specific requirements, e.g., according to which scheme or in which sequence requirements are to be documented, or which modeling languages are used for which purpose. Here, it is important to consider whether the documentation complies with current regulations.
- Conformity to documentation format: This process involves checking whether the requirements are documented in the prescribed format intended for this purpose and using the prescribed applications.
Name and describe the Review Criteria for Conformity.
- Coordination of each requirement: For this criterion, the extent to which the set of requirements has already been coordinated with the stakeholders after documentation is checked.
- Coordination after changes to requirements: This process consists of checking whether requirements that have already been reconciled were made after changes were incorporated into the documentation. This becomes particularly necessary when dependencies between requirements result in changes that were not originally predicted.
- Conflicts resolved: This process is implemented to check whether all identified conflicts between stakeholders have been eliminated and the contradictions in the set of documented requirements have been resolved.
- Approval granted: Before the requirements are implemented, they must be explicitly released. In contrast to
a functional agreement, the granting of release means deciding that implementation may begin on the basis of the current status. Under certain circumstances, this can also be the case if not all quality aspects have been fulfilled, but implementation should nevertheless be started. The implementation of agreed upon requirements can also be postponed because requirements have been reprioritized. In this case, it is important to note whether or not the release for implementation has been given.
Describe the First Testing Principle.
Involvement of the Right Stakeholders.
For the review of the requirements, the reviewer and the creator should be different people. Ideally, the requirements should be reviewed by independent persons who, as reviewers, have no conflicts of interest as part of their review activities. The selection of the specific auditors or reviewers should therefore depend on the objective of the audit and the requirements to be audited. The involvement of an external reviewer is recommended in particular for the review of special professional or technical aspects in which the project team is not very experienced but are considered critical. In order to obtain the advantage of an early review with the chance of discovering errors, it may be useful to ask internal employees to review or test at an early stage and only call in the external reviewer after an appropriate level of quality has been achieved.
Describe the second Testing Principle.
Separation of Fault Detection from Fault Correction.
The basic idea behind this principle is to concentrate exclusively on the documentation of defects during the inspection. Only after the inspection is the assessment of the alleged defects and their consolidation carried out. The correction of the defects only takes place after the consolidation. This is to ensure that the time scheduled for testing is used for testing and not for correcting.
For example, in requirement F-R-1 and F-R-3, the authentication method on a system may be inconsistently described. In this case, this deficiency is documented, but not resolved. It may be that there really are two authentication methods, but this is not explained until
later in the document.
Describe the third Testing Principle.
Testing and Reviewing from Different Perspectives.
The principle of testing from different perspectives is intended to ensure that the documented requirements are viewed and analyzed from as many different viewpoints as possible. The concept of different views is used in RE, both as an investigation technique and in perspective-based reading in testing.
For example, in testing, the user focuses exclusively on functionality, the tester focuses exclusively on the testability of the requirements, and another representative of the users focuses only on usability aspects.
Describe the fourth Testing Principle.
Appropriate Change of Documentation Form.
The basic idea of this test principle is to transfer documented requirements into another form of documentation. During the transfer, the original documentation is intensively read and analyzed, and possible errors or gaps are identified. A typical use case for the change of documentation form is the verification of processes described as text by transferring them to a process model or a unified modeling language (UML) activity diagram. In practice, it has been shown that, when processes are formulated, the behavior in the event of an error, such as a failed test, is often not described.
For example, a process described in text form for data exchange between two applications is modeled as a UML diagram. The diagram is then used to check whether the text correctly reflects the requirements.
Describe the fifth Testing Principle.
Construction of Development Artifacts.
The construction of development artifacts directly checks the usability of the documented requirements in the downstream phases of the software process. Typical use cases are the exemplary construction of design artifacts or the creation of concrete test cases. Here, elements of the requirements documentation are used as planned in later phases.
For example, the test cases for the acceptance test are created from the functional requirements. The construction of development artifacts is very complex and is therefore suitable only for very risky requirements.
Describe the sixth Testing Principle.
Repeated Testing and Reviewing.
RE is iterative, but it is not possible to plan a meaningful sequence of core activities at the beginning of a project. Therefore, the amount of documented requirements changes depending on the knowledge gained by the stakeholders. In addition, dependencies between individual requirements are only recognized during the course of the project, which also leads to changes in the documentation. Therefore, the unique successful examination of requirements is no warranty for the fact that the requirements still withstand an examination later in the project. The repeated testing of requirements is therefore a testing principle that is particularly relevant if a larger amount of adaptations must be taken into account over the duration of the project. In addition, requirements should be repeatedly checked if they are to be adopted in a system other than the one originally conceived.
For example, requirements for the data exchange between an ordering system and a delivery system should be transferred to a replenishment system. This requires a re-examination of the requirements.
Describe the Statement Testing Technique.
The simplest review technique is an informal opinion. In this case, the requirements documentation is read by a person who is independent and uninvolved in the documentation
of the requirements. The documentation is evaluated with regard to the relevant review criteria. Without the specification of review targets, the results may not be completely usable.
Deficiencies are marked in the document and briefly explained. The statement can be carried out, for example, by a colleague or an external service provider. The process does not follow any particular pattern or specifications.
Describe the Walkthrough Testing Technique.
In a walkthrough, the document is read by several people, and the identified defects are discussed in the group. Here, the roles of author, reviewer, and recorder must be assigned. This review technique proceeds with five steps:
1. The documented requirements are distributed to the reviewers and the relevant review criteria are named.
2. The reviewers are given sufficient time to check the document individually with regard to the criteria mentioned, and, if necessary, to note any deficiencies.
3. The author, all reviewers, and a minute-taker meet for a walkthrough session. There, the author presents and explains the requirements to be reviewed step by step.
Depending on the size of the group and the discipline of the participants, a moderator may also be involved to lead the session.
4. Once the author has arrived at the requirements in question, the reviewers present the deficiencies found, and explain and discuss them among themselves. In addition
to the deficiencies identified in advance, quality deficiencies may still be identified during the meeting.
5. The minute-taker is responsible for noting the deficiencies so that the authors can revise the document as needed following the meeting.
A formal version of the walkthrough is an inspection.