What are the different development methodologies and what are their advantages and disadvantages?

Though there are others, the two main development methodologies (i.e approaches to developing software systems) are the "Waterfall" and "Agile" approaches.

With the Waterfall approach, the whole system is designed upfront and then the system is developed sequentially according to this design. An advantage of this method is that it is relatively cheap and quick as it is very straightforward. However, this approach does not allow for any changes to be made to the design throughout development, and any bugs in the original design will go undiscovered until the system is completed.

With the Agile approach, the project is divided into sections, where each section is self-managed but communicates with the other sections. An advantyage of this approach is that it is iterative and allows for the design to change during the development of the system. However, a drawback is that it is more costly and time-consuming.

MS

Related Computing A Level answers

All answers ▸

How do you convert from binary to decimal?


When data is transmitted over long distances, latency can become an issue. Explain what latency is.


Describe the difference between a CPU and a GPU with relation to processing power and ability to perform tasks.


What are higher order functions in functional programming? How does the 'map' function work and why is it a higher order function?