1.1.14 - Describe strategies for managing releases and updates. Flashcards

1
Q

Why are updates needed?

A

The software development lifecycle requires continuous monitoring, developing, bug fixing and re-development of the software. Therefore, multiple updates and releases are required.

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

What are the three levels of software updates?

A

1) Patches
2) Updates
3) Releases

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

What is a patch?

A

A patch is a software update consisting of code inserted (patched) into the code of an executable program. They’re often temporary fixes between full releases of a software package.

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

State 5 things that a patch can do.

A

1) Fix a software bug.
2) Install new drivers.
3) Address new security vulnerabilities.
4) Address software stability issues.
5) Upgrade the software.

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

What is an update?

A

An update is a software file that contains fixes for problems found by other users than the software developer. Installing an update fixes the code and prevents problems from happening on your computer. Because updates fix problems with a program, they are almost always free.

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

What is a release?

A

A product release is the process of launching a new product for a specific market or user base. In software development, a product release is sometimes done with a beta version so that core developers/users can assist with debugging and feedback prior to the release of the actual software.

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

What are the two ways of receiving updates? Describe each one.

A

1) Manually - updates are downloaded and installed by the user
2) Automatically - the software automatically contacts the developer, then downloads and installs any updates.

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

Give an advantage and disadvantage of manually installing updates.

A

The user has full control, however it is time consuming.

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

Give an advantage and disadvantage of having updates automatically installed.

A

The user doesn’t have to think or worry about updates, so their system will always be up to date. However, a bad (and irreversible) update could be automatically installed without user input.

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

What are the three types of release management?

A

1) Continuous delivery.
2) Agile software development.
3) Development operations (DevOps).

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

What is continuous delivery?

A

Continuous delivery is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time.

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

Why is continuous delivery used?

A

It aims at building, testing, and releasing software with greater speed and frequency. The approach helps reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production.

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

What is agile software development?

A

Agile software development describes an approach to software development under which requirements and solutions evolve through the collaborative effort of self-organising and cross-functional teams and their customers/end users.

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

Why is agile software development used?

A

It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages rapid and flexible response to change.

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

What is development operations (DevOps)?

A

DevOps is a software engineering culture and practice that aims at unifying software development (Dev) and software operation (Ops). The main characteristic of the DevOps movement is to strongly advocate automation and monitoring at all steps of software construction, from integration, testing, releasing to deployment and infrastructure management.

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

Why is development operations (DevOps) used?

A

DevOps aims at shorter development cycles, increased deployment frequency, and more dependable releases, in close alignment with business objectives.