Rapid Application Development (RAD)
Due to rapidly-changing business environments, businesses have to respond to new opportunities and competition. Time can mean money and most businesses need to keep abreast (if not ahead) of their competitors. This requires software and rapid development, and delivery is often the most critical requirement for software systems. Businesses may be willing to accept lower quality software if rapid delivery of essential functionality is possible. In this changing environment, it is often impracticable to arrive at a constant, reliable set of system requirements. Therefore a waterfall model of development is not viable and an approach to development based on iterative specification (ie Rapid Application Development - RAD) and delivery is the only way to ensure that delivery of software takes place quickly.
The processes of specification, design and implementation are simultaneous. There is no detailed specification and design documentation is reduced. The system is developed in a series of steps. Users evaluate each stage and make proposals for later additions or changes. System user interfaces are usually developed using an interactive development system. This means that the development doesn't adhere to the traditional lifecycle waterfall model and instead follows Boehm's Spiral Model: