Chapter 3 - Requirements Flashcards

1
Q

What are requirements?

A

define what a system should do and the constraints under which it should operate

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

Functional Requirements

A

What a system should do; include features

frequently specified in natural language (e.g., in English)

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

Non-Functional Requirements

A

the constraints; tied to the system’s quality attributes

specified using metrics (performance, space, reliability, robustness, usability, portability)

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

user requirements

A

high-level, non-technical, and are usually written by users in natural language.

closer to the problem

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

system requirements

A

more technical, precise, and defined by developers

closer to the solution

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

Requirements Engineering

A

activities such as the identification, analysis, specification, and validation of a system’s requirements

these activities should be performed systematically throughout the system’s lifecycle

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

Requirements Elicitation

A

The process of identifying, discovering, and understanding a system’s requirements

drawing out the main requirements of the system from discussions and interactions with stakeholders and developers

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

Requirements Specification Document

A

describes the requirements of the software to be built—including functional and non-functional requirements— typically in natural language

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

Requirements should be

A

correct, precise, complete, consistent, and verifiable

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

use cases

A

comprehensive documents for specifying requirements

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

Minimum Viable Product (MVP)

A

a functional system that can be used by real customers. However, it only includes the features necessary to prove its market feasibility, i.e., its ability to solve a problem faced by some customers.

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

User Stories

A

a user story has three parts, also termed the three Cs:

User Story = Card + Conversations + Confirmation

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

Card

A

used by customers to write, in their own language and in a few sentences, a feature they hope to see implemented in the system

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

Conversations

A

between customers and developers to allow the former to gain a better understanding of what is detailed on each card

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

Confirmation

A

a high-level test—specified by the customer—to verify whether the story was implemented as expected.

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

acceptance tests

A

It is not an automated test, like a unit test, but rather a textual description of the scenarios, examples, and test cases that the customer will use to confirm the implementation of the story

17
Q

User stories should have what properties?

A

Independent: It should be possible to implement any two stories in any order.

Negotiable: Both parties should be open to changing and adapting their opinions as a result of these discussions.

Valuable: Stories should add value to the customers’ business.

Estimable: It should be possible to estimate the size of a story, i.e., to define the effort needed to implement it.

Small: stories at the top of the backlog should be short and small to facilitate understanding and estimation.

Testable: Stories should have clear acceptance tests.

18
Q

Epics

A

Complex and large stories

19
Q

user roles (or personas)

A

the key users who will interact with the system

20
Q

story writing workshop

A

brings together the system’s main users to discuss the system’s objectives, main features, and other key aspects.

By its conclusion, we should have a list of user stories for implementation over multiple sprints.

21
Q

gold plating

A

situation where developers independently decide to elaborate on certain stories—or requirements, more generally—without the customer’s input

22
Q

spikes

A

tasks for knowledge acquisition or for creating a proof-of-concept implementation

23
Q

Use Cases

A

textual documents used to specify requirements

offer more detailed descriptions than user stories and are typically used in Waterfall-based methods

Although user cases are written by developers, users should be able to read, understand, and validate them

written from the perspective of an actor interacting with the system to achieve specific objectives

24
Q

actor

A

Typically, the actor is a human user, although it can also be another software or hardware component. In all cases, the actor is an entity external to the system.

25
Q

main flow

A

consists of steps required to successfully complete an operation

26
Q

extensions

A

represent alternatives for executing particular steps of the main flow or for handling errors

27
Q

glossary

A

a document that lists the terms and vocabulary used in a project

28
Q

Use Case Diagram

A

This diagram serves as a visual catalog of use cases, depicting the actors of a system (illustrated as stick figures) and the use cases (depicted as ellipses). Additionally, it shows two types of relationships: (1) a line linking an actor to a use case indicates the actor’s participation in a given scenario; (2) an arrow linking two use cases indicates that one use case either includes or extends the other.

29
Q

MVP cycle

A

(build), one has a product idea and implements an MVP to test it

(measure), the MVP is made available to real customers to collect data on its usage

(learn), the collected data is analyzed, resulting in what is termed validated learning

30
Q

pivot

A

abandoning the original vision and attempting a new MVP with major changes

31
Q

vanity metrics

A

superficial metrics that serve to inflate the egos of developers and product managers while offering limited insight into enhancing the market strategy

32
Q

actionable metrics

A

those that can inform decisions about the MVP’s future

33
Q

funnel metrics

A

These metrics measure the different levels at which users interact with a system

Acquisition: Number of users who visited our system.
Activation: Number of users who created an account.
Retention: Number of users who returned after creating an account.
Revenue: Number of users who made a purchase.
Referral: Number of users who recommended the system to others.

34
Q

Design Sprint

A

a method for testing and validating new products using prototypes

Time-boxed (A design sprint lasts five days)
Small and multidisciplinary teams (seven people)
Clear objectives and rules

35
Q

A/B Testing (or split testing)

A

used to choose between two versions of a system based on user interest

36
Q

control version

A

(original system, requirements A)

37
Q

treatment version

A

(requirements B).

38
Q

Hypothesis Test

A

In such tests, we start with a Null Hypothesis that represents the status quo. That is, the Null Hypothesis assumes that there is no significant difference between the current version (A) and the new version (B) of the system. The hypothesis that challenges the status quo is called the Alternative Hypothesis.

a decision-making procedure that starts with the assumption that H0 (Null Hypothesis) is true and then attempts to find evidence against it.