Software Development - Stages Flashcards
Explain the main concepts of the Waterfall method:
- Each step completed one by one
- Each step creates output for next step
- Possible to return to previous step, but you will have to go back down through each stage.
What stage(s) of the Waterfall method are customers involved in?
Involved in the Analysis (beginning) but have little input until the Evaluation (end).
What is the origin of the waterfall method and how well is it used nowadays?
Taken from the manufacturing industry but ow superseded by more effective models.
Explain the main concepts of the Spiral method:
Uses the same structured steps of waterfall method but focuses on an overall iterative (repeating method) of development.
What happens at the start of the Spiral method?
Requirements are defined and developers work towards an initial prototype.
What does each ‘loop’ of the spiral process produce?
Each ‘loop’ generates a refined prototype.
What types of project is the Spiral method used for?
Large scale projects that may take a long time to deliver.
What are the stages of the Spiral development? Provide a definition for each one.
- Analysis: Analyse the requirements for next prototype.
- Design: Design the next version/prototype.
- Implement: Code/Test new prototype.
- Evaluate: Evaluate new prototype, plan next one.
Explain the main concepts of the Agile Development method:
- Focuses on iterative development.
- Feedback taken from user during development process.
- Software Developers only make an initial model during the start of each iteration.
- Development stages may not be completed linearly.
Why does Agile Development focus on iterative development?
Recognises that requirements may change during development.
What does Agile modelling depend on?
- Simple models developed
- Rapid user feedback
- Ability to make incremental changes
- Understanding user requirements may change.
What is Extreme Programming?
XP is a form of Agile Development intended to improve software quality and responsiveness to changing user requirements.
Explain the main concepts of the Extreme Programming method:
- Frequent releases are made in short development cycles.
- Customer has heavy involvement.
What often happens as a development method with Extreme Programming and what is this called?
An ‘Analyser’ (Overseer) and ‘driver’ (coder) develop the software, switching roles often. This is called Paired Programming.
What is the downside and advantage to Paired Programming?
It is expensive but allegedly produces higher quality results.