SDD : Development Methodologies Flashcards

1
Q

Describe iterative deveopment process

A

Traditional software development methodologies follow the ‘waterfall’ method

When using this approach, programmers move from stage to stage in sequence unless problems are encountered

If problems are encountered at one stage, then it may be necessay to revisit ealier stages of the waterfall cycle.

If problems are encountered within a stage, it may be necessay to repeat elements of that stage before moving on.

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

agile methodolgies

A

Agile prgramming is a type of development process suited to smaller projects. It is designed to be as flexible as possible where the specification may change throughout the development process resulting in reduced development time and costs.

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

Differences Between Agile and Iterative - Client Interaction

A

Iterative:

  • Client is heavily involved at the start and end point of development
  • Specification is fixed for the remainder of the project.

Agile:
Client is involved throughout the entire process
Goals can be changed throughout the process.

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

Differences Between Agile and Iterative - Teamwork

A

Iterative:
- Small independent teams often work on one phase of the process - separate teams responsible for analysis, implementation, testing and documentation. Minimal opportunity for work across teams.

Agile:
-Teamwork at the heart of development. Lots of face-to-face communication and collaboration. Utilising the skillset of colleagues is welcomed. Staff with different expertise work as part of team when completing ‘sprints’.

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

Differences Between Agile and Iterative - Documentation

A

Iterative:
Systems analyst produces software specification at analysis phase. Documentation generated and maintained throughout process - including design documents, internal program commentary and test plans.

Agile:
Creating documentation not recommended (time consuming). Formal and maintained documentation only produced if necessary or requested by client. Informal documentation may exist to aid teams during ‘sprints’

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

Differences Between Agile and Iterative - Monitoring progress

A

Iterative:
Software specification will detail agreed timscales for project completion. Project managers will regularly review progress against agreed deadlines. If developeres miss deadlines, clients can often reclaim some costs. As a result, development team are under pressure to meet all deadlines

Agile:
Short term planning uses by teams in development ‘sprints’. Part of the aim of agile methodolgies is to direct as many resources and staff as possible to a sprint cycle. Sprints are often completed quickly and held develop software as effieiciently as possible.

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

Differences Between Agile and Iterative -Precitive vs Adaptive

A

Iterative:
Predictive. Planning allows for the completion of steps in a set order. Analysis phase is critical - software specification produced dictates a plan that it is difficult to alter.

Agile:
Adaptive. No strict set plan - Development team regularly adapts targets to suit needs of client. Make up of teams can also change in response to what is best for client and project. Focussed short-term planning exists.

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

Differences Between Agile and Iterative -Testing

A

Iterative:
A defined process when the following an iterative cycle. Programmers will undertake some basic testing during implementation but the main testing phases occurs after implementation and will usually follow a pre-define test plan.

Agile:
There is no recognised testing phase, as testing is carried out in conjuntion with programming.

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