Software development wasn’t always so fluid and efficient. The early beginnings of software development took months to prepare for and even more months in the development process, much like traditional engineering. Developers would come up with a plan that took laborious months and software architects would work directly with end users in order to come up with functional designs before defining them in spec sheets. If their clients didn’t like what the option they were presented with, it was back to the drawing board and developers would have to yet again start from scratch, taking even years to produce something that their clients first requested. Aside from opportunity cost, the expenditure to fund such undertakings were astronomical.
In a bid to make software development much more cost-effective and time-efficient, RAD, or rapid application development, was proposed in the 1980s. The idea was that software development should be treated as a malleable and intuitive process, rather than something rigid as constructing a building. Instead of focusing on costly planning, RAD emphasized rapid prototyping.