19RAD

The problem with quick and dirty, as some people have said, is that the dirty remains long after the quick has been forgotten.

—Steve McConnell

Excellent firms don't believe in excellence–only in constant improvement and constant change.

—Tom Peters

What You Will Learn in This Chapter:

  • General RAD principles
  • Agile methods
  • James Martin RAD, XP, scrum, Lean, Crystal, FDD, DAD, DSDM, and kanban
  • Principles, roles, and values that are common to several RAD development approaches

When you boil down software engineering to its most fundamental level, its goals are simply to produce useful software as quickly as possible.

All of the software development models described so far focus on the first of those goals: producing useful applications. They try to ensure that the result meets the specifications and that the specifications actually specify something useful. Iterative models such as iterated waterfall and Unified Process even allow you to change the project's course of direction in case it wanders off track or the requirements change over time.

Techniques such as prototyping help ensure that the specification gives the customer a result that is useful. Models such as Unified Process emphasize risk management to ensure that the development effort succeeds. All of the models spend at least some effort encouraging good programming techniques so that the result is robust and maintainable.

However, none of the models described so far actually focus on the second goal of software ...

Get Beginning Software Engineering, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.