UNIT 4 DOCUMENTATION OF REQUIREMENTS Flashcards

1
Q

What are the 4 steps to systematically document requirements?

A
  1. Determination of purpose and target group
  2. Selection of the detail level and documentation form
  3. Documentation of requirements
  4. Checking whether documentation still fits the purpose and target group
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Explain the determination of purpose and target group in the documentation phase of RE.

A

The purpose and the target group must be determined before the documentation is created. Depending on the current project situation, the relevant target group and the specific purpose of the documentation can vary. Typical goals for requirements documentation are as follows:
* Communication support for the stakeholders involved is needed, for example, when requirements need to be clarified and prioritized, or when the identified requirements must be handed over to the architects and developers for implementation.
* A knowledge repository and reference for decisions and definitions is needed so that the results of the original requirements elicitation can still be consulted after commissioning, and for maintenance and further development activities.
* Statements and clarification must be binding in case of dispute. In case of misunderstanding or ambiguity, there should be a binding document that is recognized by all sides as a common agreement.
By defining the purpose and target group of the documentation, the requirements engineer obtains clarity about the use of the documentation. In this way, they can ensure that the documentation is aligned with the purpose and knowledge of the target audience. The requirements documentation can therefore be adapted to the actual requirements in terms of content, scope, and documentation form. For example, a different presentation may be used for coordination with a specialist department than for coordination with top
management, which, in turn, may differ from the documentation for knowledge transfer to the development team.
Typical risks in the practical handling of documented requirements are, for example, stakeholders who do not understand the documentation form used, but do not admit this.
If, for example, specialist departments are confronted with very detailed software models in order to coordinate requirements for the system, there is a risk of misunderstandings.
Another risk is the danger that important, and possibly not yet agreed upon, requirements are hidden in large documents with several hundred pages and are simply overlooked during the audit.
In an Agile software project, the last opportunity to verify the correctness and completeness of the requirements is when the goal is set at the beginning of a sprint. The team, together with the process owners and some key users, then go through the requirements that must be realized and accepted at the end of the sprint.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the different levels of detail a requirement can have?

A

Since requirements can be related to each other in a refinement hierarchy, they can be assigned to one of four different levels of detail. The requirements at each level describe the system completely, either very abstractly or in a more refined way.
Usually, there are requirements at all four levels of detail for a system. The levels establish how completely the requirements are determined and documented. With this theoretical
view, the requirements engineer can consciously decide which requirements in which level they should elicit next, or at which points they want to forego completeness or refinement.
A specification with the same level of detail in all areas indicates a waste of resources or a lack of detail. Certain issues within a specification are more descriptive than others.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Describe the Selection of the Level of Detail and Form of Documentation.

A

Since the documented requirements are read and understood by different groups of people depending on their use, it is important to take the prior knowledge and interests of the respective stakeholders into account. With regard to the level of detail of the documentation, a decision must be made as to whether an overview is sufficient (e.g., for communication with top management) or whether a detailed presentation of the requirements is needed (e.g., for estimating the effort and duration of implementation).
After determining the required level of detail, the necessary forms of documentation are defined. Not all requirements should have the same final maturity level, and they do not have to be at the same level at the same time in the project. Typical, widely used documentation forms for requirements are software models, prototypes, sketches, tables, and text.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Describe the actual documentation of requirements in the documentation phase.

A

The requirements can now be documented in a form suitable for the purpose and target group. Changes to the requirements in drafts (e.g., deletion of requirements) or in detail (e.g., minor change) are commonplace in a project. It is advisable to log the changes with the date and reason for the change to enable traceability. Changes usually result in collateral changes to related requirements. Finding them is not always easy, so it is recommended to document relationships between requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

How would one check whether documentation still fits purpose and target group during the documentation phase?

A

Since the concrete documentation can take a long time, and the requirements can change among stakeholders as they continue to deal with the subject matter, it is important to regularly review whether both are still appropriate for the current purpose and goal. It is common, in practice, for the documentation team to lose sight of the objective or lose track of the changes. In this case, it may become necessary to adapt the documentation to
the changed conditions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are the main elements of requirements documents for documentation structure?

A
  1. Project vision
  2. Overview level
  3. Detailed requirements
  4. Glossary
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Describe the Project Vision element of requirements documents.

A

At the beginning of a project, the client’s specifications and requirements must be determined, documented, and agreed upon. Starting with the initial project idea, the client’s requirements, goals, and expectations are identified and defined step by step. Formulating the project vision in text helps the project team to develop a common understanding of the project vision and communicate with the stakeholders. In the first workshop of the project, it is recommended to formulate the project vision or goal as a text of half an A4 page (approximately 1,600 characters) and agree upon it with all stakeholders.
The project vision obtained should be the first section of a requirements document. It should answer the following questions:
* What is the goal or purpose of the project, i.e., what will be achieved?
* What is the motivation for the project, i.e., why does this project exist?
* What is the definition of the level of requirements described in the document, ideally together with the purpose and target group of the document?
The project vision is an introduction and guide to the contents of the document, as well as an anchor and pick-up point for workshops and meetings with the stakeholders. Furthermore, it can be used for the final check to establish whether the content and form still fit the purpose and target group.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Describe the Overview Level element of requirements documents.

A

The project vision is followed by the overview level, which is used for the technical and functional classification of the application. After reading the overview level, the reader
should be able to obtain a general overview of the main system functions, technical interfaces, users, and classification in the system landscape. The following should be considered:
* location of the system in the business process landscape, i.e., a brief description of which business processes and functions are supported by the system
* embedding of the system in the information technology (IT) landscape of the organization, so it is possible to classify the system compared to other IT systems
* brief description of the most important system function so that the reader can gain an overview of the individual system functions, e.g., with use cases
* technical interfaces to other systems, so all involved parties are aware of the technical dependencies, and technical integration can be started at an early stage
* brief description of the roles that will actively work with the system, so it is clear which stakeholders must be actively involved in requirements elicitation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Describe the Detailed Requirements element of requirements documents.

A

Each system function described in the overview must be documented in detail before implementation. Therefore, the section with the detailed requirements is usually also the largest in the requirements document. Each system function should be described briefly so that the reader has an overview. Let’s assume that, for an online store, the important system functions “Add items to inventory,” “Search goods,” “Buy items,” and “Send newsletter” have been identified. Each of these functions must have a section in the detailed requirements documentation.
Typically, a system function is made up of various sub-functions. For example, the “Buy item” function of an online store can be composed of the sub-functions “Add item to shopping cart,” “Pay item,” “Shipping processing,” and “Rating.” These sub-functions are documented within the system function section. For each sub-function, all of the information that the development team needs to start implementing the system is compiled before the implementation starts. In particular, this includes all relevant functional requirements, quality requirements, and constraints. These requirements can be documented using text, bulleted lists, tables, functional models, references to external documents, and screenshots of prototypes.
In addition to the documentation of the individual system functions, it is often useful to create a comprehensive domain-oriented object model. The object model can be used to describe and document the domain-oriented relationships and properties of business objects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Describe the Glossary element of requirements documents.

A

In every company, there are industry- or company-specific terms that may not be known by all project participants (e.g., requirements engineers or service providers). Abbreviations in particular require binding definitions in a glossary. Confusion can also be caused by common verbs that may have a special meaning in the project environment, for example, “to archive.” What does it mean when a document is archived? What access does a user have, and how long does it take to gain access to the document? What happens when changes become necessary? The following is a list of tips for building the glossary:
* Sort the defined terms alphabetically.
* Define technical terms to be used in the requirements. If available, list synonyms or related terms that may have a different meaning.
* Define verbs to prevent misunderstandings if they are not otherwise defined or explained in the specification.
* Describe adjectives, such as “fast.”
* Use legally binding modal verbs and explain their meaning.
* Define requirements related to roles by describing tasks and responsibilities

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the different types of documentation?

A

Text and tables, user stories, epics, sketches and simple graphics, models, GUI prototypes, mixed forms of documentation, and some other types of documentation formulation and formalization.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Describe the text and tables type of documentation.

A

The simplest forms of documenting requirements with text are formulating written text and listing individual requirements. Tables, on the other hand, help to structure the requirements. They can be used, for example, to clearly present value ranges, concrete properties, and aspects that are technically different but structurally similar.
The advantages of documentation in the form of text and tables lie in their ease of use. Neither documenting nor reading documentation requires any additional learning. In addition, both are versatile because they can describe all types of requirements. The disadvantage, however, is the room for interpretation and inaccuracies in the formulation of requirements.
In some requirement specifications, only the positive cases are described. It is also important to describe the behavior of a system when something goes wrong. These negative cases are in the majority, and it is sometimes hard to think of all the circumstances in which things can go wrong and create test cases for them.
We can start with a roughly structured specification and then move to a detailed structured specification in
which the extensions are identified by hierarchical numbering. A semiformal specification with a strict outline is shown, which can be reused as a template for other requirements. A formal specification, which looks like a piece of program code, is very compact (without the same amount of detailed information), but it is not understood by stakeholders without programming skills.
The disadvantages of documentation exclusively in text form are so serious in practice that other forms of documentation have been established in addition to text.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Describe the User Story type of documentation.

A

User stories are a popular technique used in Agile. The logic behind user stories is simple, and if some basic guidelines are followed correctly, they can be quite effective. However,
this simplicity only goes so far, and user stories need to be complemented by a degree of rigor to benefit from this technique. A well-written user story scribbled on a sticky note or
card has the following form:
As a <role>, I want to <function>, so that <benefit>.
The user story defines who, what, and why. The user story should also contain a first estimation of the business value of the described function and the effort required to realize it.
The realization effort in Agile projects is roughly estimated using the “T-shirt sizing” technique. The relative effort at the beginning of a project is just a way to say that one task may take four times longer than another. During the project, when reliable data about the realization effort (in, e.g., hours or days) are available, then the effort of the other realization tasks can be determined using the rule of three.
User stories should summarize key information about a requirement. Therefore, other supporting information or documentation usually needs to be referenced in order to fully
understand all of the detail behind a user story. This supporting information could have many forms, e.g., a detailed written specification; figures; models; or reference material,
such as standards and guidelines. These cross references would be included as part of the user story.
People sometimes refer to epics as coarse-grained user stories that break down into fine-grained user stories. lf the user story clearly shows the information regarding effort and value, it can make prioritization easier. A high-value feature with a low amount of effort will stand out as a priority. User stories evolve as understanding increases. This is why, in an Agile environment, there is little desire to define them in detail in the early stages of a project.</benefit></function></role>

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Describe the Epic type of documentation.

A

Customer requirements in an early development stage can be quite large or vague. This has given rise to a different type of user story, known as an epic. In effect, this is a high-
level or “super-user” story that will, over time, be broken down into user stories at a level of granularity with which the delivery teams can work. One way to derive the user stories is to walk through the process relating to the epic. Epics can appear on a product backlog, but they do not appear towards the top, as they are not written in sufficient detail.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Describe the Sketches and Simple Graphics type of documentation.

A

The advantage of sketches and simple graphics is that
they are simple and can be created quickly on a whiteboard or paper. For example, they can be created in a workshop with the stakeholders and included in the document as a photo. Sketches are particularly suitable in the early phases of requirements determination, when functional interrelationships, not technical details, need to be highlighted and documented. One disadvantage of sketches and simple graphics is their wide scope for interpretation if their meaning is not described, e.g., by text. Therefore, sketches are only suitable for permanent documentation to a limited extent.

17
Q

Describe the Model type of documentation.

A

In order to further reduce the possible scope for interpretation of text, sketches, and graphics, the use of models has become established in industrial software engineering.
Basically, a distinction is made between graphical and textual models. The graphical models have a visual character, i.e., they are graphics whose notation elements each have a
specific meaning. In requirements engineering, both graphical process models (e.g., Business Process Model and Notation [BPMN] or event-driven process chains) and graphical software models (e.g., unified modeling language [UML]) are used. Graphical models are used to document requirements for the structure and behavior of systems.
Flow chart diagrams are not standardized, so they may sometimes be unclear or ambiguous. This results in a need for stronger standardized process models, such as BPMN; engineering, procurement, and construction (EPC); and UML, which offer the requirements engineer a wide selection of diagram types.

18
Q

Describe the GUI Prototype type of documentation.

A

Graphical user interface (GUI) prototypes are particularly suitable as a form of requirements documentation for user interfaces. In addition to using these prototypes to elicit requirements, GUI prototypes can also be used directly as a form of requirements documentation. They can be used, for example, to precisely define the exact size, position, color, and labeling of user interface elements. In addition, they can be used to document the appearance and content of error messages, as well as, for example, the order of the individual dialog masks, depending on the user interaction. GUI prototypes can be used on different levels, including simple sketches, GUI sketches, and complete mock-ups.

19
Q

Describe why there might be a need for a mixed form of documentation.

A

In practical use, requirements for information systems are usually documented in a mixture of models, formulated text, and GUI prototypes. This combination compensates for the individual disadvantages of each documentation form. For example, a graphical model should always be explained using text. The content of the model does not have to be described in full; however, it is important to provide a brief description of what is actually represented in the model and how it relates to the other documented requirements. In addition, all important notation elements, such as actions, functions, information objects, states, and classes, should be briefly explained. This supports the reader in understanding and classifying the modeled facts. When using different forms of documentation, care must be taken during documentation and all subsequent revisions and adaptations to ensure that the text and model reflect the same level of knowledge, and that there are no inconsistencies in the documentation.

20
Q

What Were Some Other Forms of Requirements Formulation and Formalization during the years?

A

In most projects, requirements will be formulated in natural language, which can be problematic when it comes to writing and understanding. In order to overcome the difficulties
of natural language, many formal notations and languages for the formulation of requirements for software have been developed. The first trials of the programming language Ada, used for specifications, failed because pure Ada is too restrictive for requirements specifications, and not all relevant parties possess the programming knowledge needed to understand Ada. Formal specifications are automatically verifiable and can be executable in simulations and prototypes for normal stakeholders. However, the semiformal specification is the easiest to understand for non-programmers and can be maintained using a tool.
Because there was a “software development method
war” in the early 1990s, a multitude of object-oriented methods and modeling options populated our software development landscape. The most diverse forms of representation, approaches, and goals, and a frightening contradiction and
incompatibility, made communication between system developers difficult. Every potential user of an object-oriented notation was faced with the question of which notation was the most suitable, and which would still be important in the future. This uncertainty prevented many companies from switching from traditional analysis and design methods to object-oriented modeling approaches. Due to the unification of some approaches (and the extinction of others), the UML became particularly established in the 90s.

21
Q

How are approximation levels applied in Agile software delivery?

A

In an Agile software delivery method, the following approximation levels are used:
* The highest level is realized by a “project product description” called the “vision.”
* A high level requirement, alternatively called “product group” or “project product description composition,” is also called “epic,” “feature,” “function theme,” or “scope.”
* An intermediate level can include epics, features, functions, or a “coarse-grained user story.”
* The lowest, most detailed level is described by user stories and is named “fine-grained user story.”
Agile delivery methods try to reach the final level of detail by decomposition, starting with “boulders” and “rocks” and stripping them down to “gravel”. From an estimation point of view (in the form of time, cost, or benefits), the margin of error at each of these stages could be as follows:
* 50 to 100 percent for the pre-project stage
* 20 to 40 percent for the initiating stage
* 10 to 20 percent for the delivery stage