Software Development Lifecycle Flashcards

1
Q

What is the purpose of the SDLC?

A

To create stable software in the shortest time possible.

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

Define the concept of SDLC

A

The modulating of the software development process into development phases that can be tested in a controlled way.

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

What are the 2 overarching purposes of thew SDLC?

A

Quality assurance
Development management

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

What are the 5 stages of the SDLC?

A

Requirements/Analysis, Design, Implementation, Testing, Evolution.

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

What questions does the requirements / analysis stage solve?

A

What is the problem? Who is the program for? How will the program solve the problem?

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

What questions does the design stage solve?

A

What are the tech requirements? How will the solution be developed? Which tech stack will be used? What tests need to be done?

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

Define the implementation stage…

A

The physical development of the solution as per the requirement and design stage.

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

Define the testing stage…

A

Conduct testing that was defined in the testing stage.

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

Define the evolution stage?

A

What features need to be added or removed for the next iteration of the product?

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

What are the 5 main Software Development methodologies?

A

Agile, Scrum, Rapid Prototype Testing, Waterfall, Prototyping.

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

Define Agile development…

A

An iterative approach in which cross-functional teams implement incremental changes to the solution. It’s sprint based, where each sprint releases an updated solution.

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

Is testing emphasised in agile? If so, why?

A

Yes, testing is done regularly and often to ensure bugs are caught early.

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

What are the pros and cons of agile?

A

Pros:
- Early and consistent bug catching.
- Small incremental changes prevent errors causing catastrophic side effects.
- Cross functional teams ensure diverse and multi-perspective input at every stage, leading to a well rounded iteration.
Cons:
- Slower than other models
- Cross-functional teams can lead to disagreements due to lack of understanding of different disciplines.

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

Define scrum…

A

An iterative approach conducted in sprints. Each sprint is 2 to 4 weeks and has the aim of implementing an incremental change on the solution. After each iteration, customer feedback is obtained and used to plan the next sprint.

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

What are the components of a sprint?

A

Sprint planning, daily scrum meetings, sprint review to ensure the software increment has been developed as per the specification.

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

Pros and cons of scrum?

A

Pros:
- Customer feedback orientated
- Sprints are fast
- Daily scrum meetings ensure good communication
Cons:
- Scrum masters can over reach.
- Heavily dependant on communication, which can sometimes be tricky. Especially with remote working.

17
Q

Define Waterfall…

A

Used when the project is short and unambiguous. Consists of specialised teams working at each stage of the cycle. At each stage, the output from the stage has to be signed off, and is then used as input into the next stage.

18
Q

Pros and cons of waterfall?

A

Pros:
- Simple model
- Specialists at each stage
- Cleary defined goals at stages
- Sign offs improve quality assurance
Cons:
- Specialists lack knowledge of other areas, therefore, the output of their stage may be incompatible as the input of the next stage.
- Not good for complex projects
- No rooms for on-the-fly modification to the product.
- Bug-carry over - If issues aren’t addressed, they carry over as input into the next stage.

19
Q

Define RAD

A

Focussed on creating a MVP as quickly as possible within a set time (which never changes). If development is taking too long, features are always reduced rather than time extended. The goal is to get an MVP out quickly for rapid feedback to increment the product with.

20
Q

Pros and cons of RAD?

A

Pros:
- Quick
- User feedback driven
Cons:
- High pressure to release solution
- Pressure can lead to sub par MVP

21
Q

In RAD, the design and implementation processes are… …… What does this mean?

A

Interleaved
This means that the occur alternatively.

22
Q

Define Prototyping

A

Not a framework, but is embedded in the design process. This enables us to get user feedback of a static version of the product. It is mainly focussed on the UX of the product.

23
Q

What does prototyping help with?

A
  • User feedback on design
  • User feedback on which features to implement.
24
Q

When should waterfall methodology be used?

A

When the project is small and unambiguous.