Cascade lifecycle

PROS

  • Suitable for small and well known projects
  • Well structured
  • Easy to use

CONS

  • Requirements not perfectly known, usually
  • Stages not perfectly finished, usually
  • No results until the end
  • No failures detected until test stage

V lifecycle

PROS

  • Easy to use
  • Some deliverables in each stage
  • Test plans for each stage
  • Useful for small projects with well known requirements

CONS

  • Requirements not perfectly known, usually
  • Too rigid
  • No results until the end
  • Hard to find how to move from right to left branch

Iterative lifecycle

PROS

  • Requirements don't need to be clear at the beginning
  • Prototypes after each iteration

CONS

  • Later requirements may affect the system architecture significantly

Incremental lifecycle: variation in which each prototype only has some few improvements from previous one (easier to test)

Spiral lifecycle

PROS

  • Suitable for large and difficult projects
  • Risks are minimized
  • Implementation and maintenance are integrated
  • Prototypes after each iteration

CONS

  • Experience required for risk evaluation
  • It produces a lot of additional resources (reports, prototypes...)
  • Very costly
  • Not suitable for small projects

Exercise

Fill this table with YES or NO according to each lifecycle

Cascade V Iterative Spiral
It is simple and easy
It generates intermediate versions of the product
Suitable for projects with uncertain requirements
It lets us evaluate the risks of the chosen solution