Sunday, February 8, 2009

Rapid software development processess

RAD - rapid software development
- is designed to produce useful software quickly; it's iterative; specification, design, development and testing phases interleave. Software is delivered in a series of increments, each including new system functionality; some characteristics:
  1. processes of specification, design and implementation are concurrent
  2. incremental, while users and stakeholders are involved in specifying and evaluating each increment => accelerated delivery and users engagement with the system
  3. system UI often developed using iterative development
BUT: IID => management problems (not cost-effective to produce lots of documentation, unfamiliar technologies), contractual problems (no ready specification), validation problems (no ready specification again), maintenance problems (complex software's structure, people need to know RAD techniques)
-> not for huge systems where teams work in different locations, critical systems (?)

Triangle for "product" => businesses may be willing to accept software delivered quicker but with lower quality and essential functionality (mobile phones)