Class 8 - DevOps, Metrics, and Testing Tools Flashcards

1
Q

What are the development team’s primary goals?

A
  • Usability (debugging and UX)
  • Test suite effectiveness
  • Cycle time (sprint time/velocity)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the operations team’s primary goals

A
  • Uptime (availability)
  • Response time (speed)
  • Data integrity (backups)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Before DevOps was used, how did the development team work with the operations team on a project?

A

Developers did not care about Operation’s goals and Operations did not care about Developer’s goal. Essentially, the development team and operations team disregarded goals that were not their own

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

DevOps

A

A set of software-development practices that combines a software development mentality with other functions in the organization (e.g. operations)

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

True or False: DevOps is about the tools used in the codebase

A

False. DevOps is not about tools, but about how teams work together. It focuses on people first, then process, and finally tools (only after people and process have been addressed)

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

What are the 4 pillars of DevOps?

A

Recall CAMS:
- Culture
- Automation
- Metrics
- Sharing

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

Culture (DevOps)

A

The norms by which your team operates by. Includes communication patterns and team structures.

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

True or False: Most problems are people problems, not technology problems

A

True

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

Automation (DevOps)

A

Freeing human capital from mundane tasks that can be done by a computer

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

Metrics (DevOps)

A

The way you tell whether or not something is working. Simple absence of errors is not sufficient

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

Goodhart’s Law

A

When a measure becomes a target, it ceases to be a good measure

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

Given an example of Goodhart’s Law in software engineering

A

Using lines of code as a metric for software quality. Result: Codebase become bloated with unnecessary lines of code

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

What are the qualities of a good metric?

A
  • Simple and computable
  • Intuitively persuasive
  • Objective (not subjective)
  • Consistent in the use of units and dimensions
  • Programming language-independent
  • Improves software quality
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Give an example of a good metric

A

Number of defects per week:
- It is simple to calculate
- Intuitively persuasive (defects are clearly negative)
- Not based on someone’s opinion
- Consistent across units and programming languages
- Effective mechanism for improvement

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

Availability (Software Quality Attribute)

A

The extent to which the system’s services are available when and where they are needed

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

Installability (Software Quality Attribute)

A

How easy it is to correctly install, uninstall, and reinstall the application

17
Q

Integrity (Software Quality Attribute)

A

The extent to which the system protects against data inaccuracy and loss

18
Q

Interoperability (Software Quality Attribute)

A

How easily the system can interconnect and exchange data with other systems or components

19
Q

Performance (Software Quality Attribute)

A

How quickly and predictably the system responds to user inputs or other events

20
Q

Reliability (Software Quality Attribute)

A

How long the system runs before experiencing a failure

21
Q

Robustness (Software Quality Attribute)

A

How well the system responds to unexpected operating conditions

22
Q

Safety (Software Quality Attribute)

A

How well the system protects against injury or damage

23
Q

Security (Software Quality Attribute)

A

How well the system protects against unauthorized access to the application and its data

24
Q

Usability (Software Quality Attribute)

A

How easy it is for people to learn, remember, and use the system

25
Q

Efficiency (Software Quality Attribute)

A

How efficiently the system uses computer resources

26
Q

Modifiability (Software Quality Attribute)

A

How easy it is to maintain, change, enhance, and restructure the system

27
Q

Portability (Software Quality Attribute)

A

How easily the system can be made to work in other operating environments

28
Q

Reusability (Software Quality Attribute)

A

To what extent components can be used in other systems

29
Q

Scalability (Software Quality Attribute)

A

How easily the system can grow to handle more users, transactions, servers, or other extensions

30
Q

Verifiability (Software Quality Attribute)

A

How readily developers and testers can confirm that the software was implemented correctly

31
Q

User Research

A

The process of understanding the needs, behaviours, and attitudes of users to inform the design and development of products

32
Q

Give examples of qualitative user research

A
  • User’s emotional journey
  • List of emojis (emotional states as the user performs a task)
  • Plutchik’s wheel of emotions
  • Notes
  • Quotes
  • Sketchnotes
33
Q

Give examples of quantitative user research

A
  • Likert scales
  • Time to completion of different tasks
  • Error count
  • Conversion numbers
  • Cost-benefit analysis
  • Web analytics (e.g. Google Analytics)
34
Q

Likert Scale

A

A rating scale that qualitatively assesses opinions, attitudes, or behaviours. A common example is the following scale:
- strongly agree
- agree
- neutral
- disagree
- strongly disagree

35
Q

Sketchnoting

A

The creative and graphic process through which an individual can record their thoughts using illustrations, symbols, structures, and texts (typography)

36
Q

What cues can be used to recognize a user’s emotions?

A
  • Tone of voice
  • Words used to describe their emotions
  • Sighs
  • Laughter
37
Q

What are some nonverbal cues that signal user dissatisfaction?

A
  • Suddenly typing louder after making an error
  • User rolling their eyes
  • Making circular motions with the cursor on the screen, as if they don’t know where their cursor is
  • Nervous tics
  • Redness in the face or in the neck
  • Change of position on the chair
  • Sighing, grunting, or other noises
  • Scrunching of the nose or eyes
38
Q

Pipelines

A

Automated processes to help develop software. They test, build, and deploy your software automatically