Requirements Engineering

Techniques to gather customer needs/Requirements; system context, methods, Stakeholder analysis - Creating good requirements - Documentation in agile Settings - User Stories - Story Mapping - Definition of Acceptance Criteria

Techniques to gather customer needs/Requirements; system context, methods, Stakeholder analysis - Creating good requirements - Documentation in agile Settings - User Stories - Story Mapping - Definition of Acceptance Criteria


S. F.
This flashcard set covers university-level topics in requirements engineering, focusing on user stories, acceptance criteria, and stakeholder management. It delves into methods like story mapping, the INVEST concept, and the five specification levels, highlighting the pros and cons of various approaches. Ideal for students and professionals in computer science, this flashcard set helps understand the systematic and disciplined approach to specifying and managing requirements, ensuring alignment with stakeholder needs and reducing the risk of non-conformant applications.
Cartes-fiches
53
Utilisateurs
4
Langue
Anglais
Catégorie
Informatique
Niveau
Université
Créé / Mis à jour
13.09.2016 / 21.01.2023

Cartes-fiches

What is the difference between a Need, a Requirement and a Feature?

Need: something a customer comes up with (pain or gain)

Requirement: atomic, cohesive, complete, consistent, feasible, necessary / valuable, solution independent, testable, traceable

Feature: distinguishing characteristic of a system

What are the four main tasks of RE?

elicitation
documentation
validation & harmonization
management

What does MoSCoW stand for?

must have - should have - could have - won't have

Which two domains does the Requirements Engineer combine?

The Solution domain (IT development) and the problem domain (customer problem).

What types of requirements exist?

Functional Requirement: describing functional behavior of the system
Non functional Requirement or Quality of Service (QoS) describing how a system provides some functionality 
Constraints: time, budget, used technologies & frameworks, quality standards, methodology...

How does Brainstorming work?

Group of 5-10 persons
20 minutes time slot to collect ideas
Ideas are collected without comments
Based on collected ideas new ideas are created
Crazy ideas are allowed / welcome
Think about location change (not in the office)
After storming phase ideas are analyzed and rated
Written approach is called Brainwriting

What are the Pro's and Con's of Brainstorming?

Pro:
A lot of ideas in a short time
room for new solutions
Ideas are enhanced by others
Good to identify optimization aspects
Con:
Group dynamic aspects has to be good
Distributed teams need high effort to realize the technique

How does the 6-3-5 method work?

6 Participants
Everyone creates 3 Ideas and documents them on a card
After 3-5 minutes cards are passed to neighbor for inspiration
Everyone creates 3 new ideas (with inspiration from neighbor card)
This is repeated 5 times (everyone had every card)
Idea:
good ideas will survive
Permutations of ideas
Inspiration 

What are the Pro's and Con's of the 6-3-5 method?

Pro:
Problems with group dynamics are compensated
Simple for moderator
Simple to do that with distributed teams
Con:
Writing is not as effective as brainstorming (verbal) 

How does the Change of Perspective method work?

Participant try to cover different views. e.g.:
Objectivity and neutrality: Facts and Figures (white)
Personal feeling and subjective opinion : feelings, hope, fear (red)
Objective negative arguments: risks, doubts (black)
Objective positive arguments: opportunities, aims (yellow)
New Ideas (green)
Process controlling (blue)
Write input on colored cards. The method will provide a good overview of different aspects. Give Stakeholder corresponding colors or give them other colors. Moderate the persons to understand their perspective.

What are the Pro's and Con's of the Change of Perspective method?

Pro: Helps stakeholder to possess another role
Con: Introverted persons do not like such techniques

How does the field observation work?

Observe the stakeholders at their working place
Understand the process
Ask questions
Do not act as overseer or inspector

What are the Pro's and Con's of the field observation technique?

Pro:
if user do their work automatically (implicit)
Good to identify alternative process flows
Con:
Some processes are not observable
Method could falsify results/process

How does the apprenticing technique work?

The REE is the apprentice and learns the tasks from the stakeholder.
REE identifies errors which are not done by the expert
Most people like it to introduce others in their work 

What are the pro's and Con's of the apprenticing method?

Pro:
if user do their work automatically (implicit)
Good to identify errors
Stakeholder has not the feeling of being observed
Good for group dynamic aspects
Con:
Not possible in critical environments
Not useable for product development (not all stakeholders are known)
Needs a lot of time

What are the Pro's and Con's of a questionnaire?

Pro:
Fast and cheap feedback
Could address a lot of people
Con:
Not good to collect implicit knowledge
Hard to gather non functional requirements
Further inquiries are not possible

What are the Pro's and Con's of an interview?

Pro:
Adoptable interview process (you can react/influence during the interview)
Could be done with single persons or groups (workshop style)
Further inquiries are possible
Con: 
Very time consuming
You only get the answers to the asked questions
Only for explicit knowledge

How does system archeology work?

The old system of the customer is used to gather requirements
documentation and the user manual are a source to identify requirements
Use only together with other elicitation techniques

What are the Pro's and Con's of the system archeology method?

Pro:
Existing features could be addressed easily
Con:
Very, very time consuming
You only get the implemented features, not what the stakeholders want now
Very often documentation of old systems is not very good 

How does the Reuse method work?

Here a similar system which was developed from the dev. Team is used (not a system the customers are using)!
Always use together with other techniques
Could be used for non functional requirements
Could be formulated in a database and resued based on copy&paste

What are the Pro's and Con's of the Reuse method?

Pro:
Cost saving method
Con:
Reuse has an overhead at the beginning (necessary to create the database, to create good documentation,…) 

Name the five types of elicitation techniques.

Creativity techniques
Observation techniques
Questioning techniques
Artefact based techniques
Supporting techniques 

What elicitation techniques are there?

 

Creativity techniques:
   Brainstorming
   6-3-5 Method
   Change of perspective
Observation techniques:
   field observation
   Apprenticing
Questioning techniques
   Questionnaire
   Interview
Artefact based techniques
   system archaeology
   reuse
Supporting techniques
   Workshop
   Mind Mapping
   Audio/Video Recoding
   Use Case Modelling
   Scenarios
   Essence creation (reuse necessity) 

Why is requirements engineering important?

Because the later you fix a mistake, the more expensive the fix will be.
Fixing a requirement mistke at delivery will be 200 times more expensive than in the requirment phase.

What stakeholders has the requirement engineer to deal with?

Customer(s)
Users
Developers
Solution Architects
IT/Sys Admins
Testers 

What is the IREB definition of requirement engineering?

Requirement Engineering is a systematic and disciplined approach of specification and management of requirements to:
- Identify/know relevant requirements
- Document the requirements based on standards
- Address all stakeholder needs in a consensual way
- Understand the needs of the customers
- Specify and manage the requirements to reduce risk of providing a non conform application which does not fit the stakeholders needs 

What are common mistakes when formulating requirements?

- subjunctives: don't use "should"
- not precise (e.g. "all")
- use of not measurable (and therefore testable) attributes like "quickly"
- mixing up several requirements in one statement
 

Why do requirements change over time?

- “underlying” business process changes itself. (about 2% per month).
- customers do not have a good understanding of the system
- customers know their problems (needs) but a general understanding of the problem is not established
- General understanding of the solution not yet available

What is requirements creep?

The tendency of requirements to increase over time.

What are the different specification levels of SCRUM?

Level 0: Sprint Goal; Product Vision

Level 1: Epic, Theme

Level 2 & 3: User Story; technical User Story; Product Backlog Item; Acceptance Criteria; DoD

Level 4: User Story; technical User Story; Sprint Backlog Item; Acceptance Criteria

Explain the five specification levels.

Level 0: for management; Focus on high level system description; overview; Usually volume of several pages (1-3)

Level 1: for specialist division, Identifies business cases, Use Case level

Level 2: for process owners; Definition from workflows; Definition of QoS; Usually no definition of sub systems; Definition of user roles; First definition of interfaces

Level 3: for process owners; Definition of sub systems; Mapping of workflows to subsystems; Definition of Requirements concerning the GUI; Definition of Non functional requirements 

Level 4: for system architects; Separation of HW and SW parts; Definition of solutions; Non functional requirements in detail

What is a refinement of a requirement?

It contains always a (technical) solution for a more abstract requirement without changing the subject matter.
It does not replace the more abstract formulated requirement. It describes it in another (higher) specification level. 

What are the tasks of RE before the project start in a scrum project?

- Create The Product Vision (PO with customer)
- Check /Identify constraints
- Identify stakeholders
- Define system context
- Start to define glossary

What are the tasks of RE before/between sprints of a scrum project?

- PO creates User stories
- PO priorizes User Stories
- Team priorizes User Stories
- Sprint Planning Meeting 

What are the tasks of RE during sprints in a scrum project?

- PO creates User stories
- PO refines User stories
- PO creates detailed definitions
- PO priorizes User Stories 

What details of your stakeholders should you document when doing a stakeholder analysis?

Name, Role, Contact details, Availability (time frames and location), Relevance of stakeholder (see analysis), Knowledge area, Aims and interest

How can you categorize stakeholders when doing a stakeholder analysis?

By influence and motivation:

high influence & motivation: tight cooperation
high influence - low motivation: satisfy
low influence - high motivation: inform
low influence & motivation: observe

What are the advantages of user stories compared to classic requirement documents?

- the benefit of the task is spelled out for everyone in the user story

- the user role is spelled out in the user story

- easier to synchronize changing requirements

- since it's easily understandable for everyone, customers can discuss it better

- provokes discussions with stakeholders

 

What are the 3 Cs from Ron Jeffries?

  1. Card: User stories are traditionally written on index cards or sticky notes, in short form. User narratives further explain these cards. Thus the main intention is to describe the user story in short form to allow common understanding of the user need among all stakeholders.
  2. Conversation: User stories shift the focus from writing about features to discussing them. In fact, these discussions are more important than whatever text is written.
  3. Confirmation: Acceptance tests confirm that the story was delivered correctly.

What is the standard syntax of a user story?

As a <type of user>, I want <some goal> so that <some reason>.

Étudier