Programming and Software Development: Question 10
Syllabus 12.1
A software company needs to build a simple internal booking tool very quickly. The developers make heavy use of prototyping tools to automatically generate much of the user interface, and work in short, fixed time periods (timeboxes), accepting less thorough documentation and a lower degree of code optimisation in exchange for a fast delivery time.
Which development life cycle model does this scenario best describe?
Show worked solution Hide worked solution
Worked solution
Why option C is correct
The scenario describes three specific features: heavy use of prototyping tools to automatically generate much of the interface, work carried out in short, fixed timeboxes, and a deliberate trade-off of less thorough documentation and less optimised code in exchange for speed. These are the defining characteristics of Rapid Application Development (RAD): RAD is built around using prototyping/CASE tools to construct much of a system quickly, is organised into strict timeboxes to force rapid progress, and explicitly accepts that documentation and code optimisation may suffer as a result, because delivery speed is the priority.
Why the other options are wrong
- A (waterfall): waterfall completes each stage. Analysis, design, implementation, testing. Fully, with thorough documentation, before the next stage can begin. This is the opposite of a model that accepts less thorough documentation for the sake of speed, and waterfall makes no particular use of prototyping tools or timeboxes.
- B (iterative development): iterative development delivers the system in a series of working increments over time, refined using feedback. While this can also be relatively fast, “quickly built” alone does not capture the scenario’s specific emphasis on prototyping tools and fixed timeboxes, these details point specifically to RAD, a particular, faster style of iterative-like development, rather than to iterative development in general.
- D (no life cycle model matches): this is incorrect, since RAD is a real, named development life cycle model precisely defined by this kind of trade-off between speed and thoroughness.
Final answer
- C. The heavy use of prototyping tools, the use of timeboxes, and the explicit trade-off of documentation and code optimisation for speed are the defining features of Rapid Application Development (RAD), distinguishing it from both waterfall (thorough, sequential, well documented) and iterative development in general (successive working versions, but not specifically defined by prototyping tools or timeboxing).