Abstract

We want to develop software…

  • with the right features
  • that is easy to use
  • that is hard to misuse
    • accidentally
    • maliciously
  • can be developed effectively
    • on schedule
    • free of defects
  • can be maintained
    • to add features
    • to adapt to new environments
    • to preserve/transfer knowledge between developers