In order to develop a software project, the basic notion is Software Development Life Cycle Models (SDLC). SDLC is a set of complete processes and procedures, which can lead the project to its successful completion. Each project differs from other in terms of complexity, structure, and requirements. Therefore, it cannot be managed by following only one development methodology. There are different assignments given to CSU students about SDLC approaches. With the advancement into the software development, different methodologies are present that can be used for successful delivery of a quality project. Before choosing the best methodology for the project, it is important for everyone to know about their advantages and disadvantages. In the next section, some of the advantages and disadvantages of SDLC models are given.
Advantages and Disadvantages of different Software Development Life Cycle Model
Advantages of Waterfall Model
- Waterfall model is easy to use and understand.
- Development processes go one-by-one.
- It is easy to determine the key points of each development life cycle.
- Best suited for small and medium sized project.
- Follow simple management process due to the inflexibility.
Disadvantages of Waterfall Model
- After the completion of last phase, the software will be ready to use.
- High risk and uncertainty.
- Not suited for large or complex projects
- Progress of the development is difficult to measure or evaluate.
Advantages of Iterative Model
- Some of the initial functions may execute quickly at the beginning of the project.
- Progress of the project is measurable.
- Because of the shorter iteration process, testing and reviewing processes are easy to cover.
- Flexibility to adopt the changes into the requirements of the project.
Disadvantages of Iterative Model
- This model requires more resources than the waterfall model.
- It has some issues with architecture design of project during the short planning stage.
- It is not suitable for small sized project.
- The development processes are difficult to manage.
Advantages of Spiral Model
- Project development life cycle is divided into small parts, which can further divide the risk, and phases may have finished earlier to address the threats.
- The development processes are effectively documented and highly scalable to adopt changes.
- Earlier working prototype is done before user can point out the flaws into the system.
Disadvantages of Spiral Model
- Project development can be expensive.
- It requires experienced project developer to mitigate the risk effectively.
- Spiral model not be considered for small sized project.
- Some intermediate stages require excessive documentation.
Advantages of V-Shaped Model
- Due to V-shape model, it has strict results and so easy to use and control.
- Testing phases of modules take place in early stages of development.
- V-shaped model can effectively be used for small projects, where requirements are clear and static.
Disadvantages of V-Shaped Model
- V-shaped model has lack of flexibility.
- Risk can be associated.
- Not very good for large size of project.
Advantages of Agile Model
- Functional requirements corrections can be implemented into the development process in order to provide the competitiveness.
- Due to the flexible change process, risks are managed and minimized effectively.
- First version of the project will release fast.
Disadvantages of Agile Model
- Development team may face difficulties in estimating final cost due to change into the requirements in between the development phase.
- Development team is required to be expert and client-oriented.
- New requirements can occur within existing system.