Waterfall Approach

A very formal approach, where phases of the SDLC are carried out in a sequential manner

Each phase completed before progressing to the next one

Good for software with very clearly known and explicit requirements without and ambiguitiy

  • Costly to go back a stage
  • Rigid
  • No working software produced until late into the SDLC
  • Very stable

Iterative/Incremental Approach

  • Break the problem into smaller pieces and prioritise them
  • Incremental deliverables + customer feedback

Models

  • Unified Software Development Process
    • Requirements, analysis, design, implementation of each approach
    • Timeboxed
  • Rational Unified Process
  • Agile

Why Agile?

Whilst agile development is more error-prone, it is rapidly becoming a more suitable development approach due to the improved productivity, quality, costs and satisfaction of the project.

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over fixed terms and contracts
  • Adaptation to change