Advantages and Disadvantages of various Software Models

Software Model is an abstract representation of the process. Each phase in the software model consists of various activities to develop software products gradually. It also specifies the order in which each phase must be executed.

These are various software engineering models and their advantages and disadvantages –

1. Waterfall Model :
It requires a well understanding and knowledge of requirements and technology related to it.

Advantages :

  • It is very easy and convenient to implement the waterfall model.
  • For implementation of small systems, it is very useful.

Disadvantages :

  • It may cause some confusion if some of the changes are made at some phases.
  • Firstly, the requirement analysis is done and in the beginning, sometimes it is not possible to state all the requirements explicitly.
  • Only at the end, the customer can see the working model of the project.
  • Linear nature of waterfall model induces blocking states.

2. Spiral Model :
It is developed in iterations and used for risk management. Hence, at new iterations, the requirements can be recognized.

Advantages :

  • By construction of prototype, the working model of the system can be designed quickly.
  • During the development stage, Project can be refined by developer and user.
  • Involvement if user in the project.
  • It is very Cost effective and easy to maintain.
  • Risk analysis and reduction can be done systematically and in a proper manner.
  • Well planned and efficient project development.

Disadvantages :

  • In series of increments, Software gets developed.
  • If communication with customer is not well or proper then it results in total project failure or non-success or project that might leads to omission of the project.

3. Incremental Model :
It is a process of software development and focuses on the short and development cycle.

Advantages :

  • If number of people are less available for project development, then this model is very useful.
  • Technical risks can be managed effectively and in a well organized manner.
  • The core or final product can be shown to the customer within small duration of time.

Disadvantages :

  • Highly and fully committed developers and customers are required for this project.
  • Adopting new technologies and developing the project using this model is very difficult and problematic.
  • Heavy resources can be required.

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using or mail your article to See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :

Be the First to upvote.

Please write to us at to report any issue with the above content.