Software design process

Idealized stages

  1. Requirements specification
  2. Architectural design
  3. Detailed design
  4. Coding and unit testing
  5. Integration and testing
  6. Operation and maintenance

These stages are describe in Human-Computer Interaction by Dix, Finlay, Abowd and Beale. The stages are useful for describing when usability evaluation methods can be used.

These idealized stages are rarely followed in practice. Why not?

Discussion for when to use the following methods