Development methodologies Flashcards

1
Q

What is a software development lifecycle?

A

This is when one is developing a solution to a problem for a computer system and programmers have to work through a number of distinct phases.

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

What are the 8 things you need to check on a SDLC (software development lifecycle)?

A
  1. Feasibility
  2. Requirements
  3. Analysis and design
  4. Implementation
  5. Testing
  6. Deployment
  7. Evaluation
  8. Maintenance
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the waterfall model?

A

The model derives its name from its cascading effect from one phase to another. Each phase has a well-defined start and end point with identifiable deliverables.

A slight evolution of this model allows you to move back to a previous stage as well as forwards - this reflects the fact that developers often have to rework earlier stages.

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

What is the RAD model?

A

Rapid application development (RAD) model is a methodology that involves producing successive prototypes of the software until a final version is produced and approved.

Following initial approval of a feasible program, increasingly refined prototypes are made with reduced functionality.

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

What is the spiral model?

A

This is a risk-driven methodology. It is more of a guide for development teams, allowing them to adopt elements of one or more other methodologies like waterfall or RAD.

Better thought of as a process model generator, where decisions on the software on the methodology is made based on the risks identified

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

What is the agile methodology?

A

They focus on the idea that requirements will shift and change during development - this can only be dealt by producing software in an iterative way.

Product is built in series of iterations called “sprints”. These are short, time-boxed periods when a team has focused goals to complete a set amount of work.

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

What is extreme programming?

A

This is more of a framework rather than a methodology. It aims to produce very high-quality code and promote developers’ quality of life. Some common practices would be:
- Simplicity
- Communication
- Feedback
- Courage
- Respect

Considered as an agile framework that encourages regular, small, iterative software releases

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