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.