Model Pros Cons
Build-and-fix OK for small one-off programs Useless for large programs
Waterfall Disciplined, document-driven Result may not satisfy client
Rapid prototyping Guarantees client satisfaction May not work for large applications
Extreme Early return on software Has not yet been widely used
programming development
Spiral Ultimate waterfall model Large system in-house development
only
Incremental Promotes maintainability Can degenerate to build-and-fix
OOP Supported by IDE tools May lack discipline
Iterative Can be used by OOP May allow overiteration
Different Software Development models have different features and
properties. Selection of the software development model depends on the nature of
project and client. Here, I will try to give a comparison of various software
development models with three parameters:
1. Contribution to Quality
2. Risks Associated
3. Context of adoption
Model Name: Waterfall Model
Contribution to Quality: Phase End Checks
Risks Associated: Expects a task to be well done in the first go
Context of adoption: When the requirements are structured and competence is
high
Model Name: Software Development Lie Cycle Model (ETVX Model)
Contribution to Quality: Entry task verification exit definition and quality control
through feedback.
Risks Associated: Final Product available only after the complete cycle
Context of adoption: When the requirements are quite structured, but scale is
large. One may need to go back for rework if required.
Model Name: Prototype Model
Contribution to Quality: 1. Seeing is believing. 2. Go iterative and involve
customer. 3. Produce working models to give faster delivery and have concrete
feedback.
Risks Associated: The scrap may go uncontrollable
Context of adoption: When needs to try out things before making a commitment
to deliver.
Model Name: Spiral Model
Contribution to Quality: 1. Avoid scrap as well as rework – do right the first time.
2. Analyze risks before undertaking the next enhancement.
Risks Associated: Inadequate experience and subjective method of risk
management
Context of adoption: When the scale is large and planned; passed development
would give confidence to move ahead or stop as suited.
Model Name: V-Model
Contribution to Quality: Plan for testing of artifacts much before their actual
completion
Risks Associated: Testing techniques applied may remain subjective
Context of adoption: It is a philosophy that can be applied with any other models
you choose.
Model Name: Unified Process Model
Contribution to Quality: 1. Iterative evolutionary use case centric development. 2.
Defines workflows and milestones for better project management.
Risks Associated: Identification of phases needs experience.
Context of adoption: When the scale of project is large.
Model Name: Agile Models
Contribution to Quality: Anytime delivery through flexible design, limited scope
and quick reviews.
Risks Associated: Flexible design techniques not well established. The designers
lack an understanding of business need for agility.
Context of adoption: When business needs are dynamic and need to be fulfilled
immediately.
Waterfall Model
Advantages
▪ Simple and easy to use.
▪ Easy to manage due to the rigidity of the model – each phase has specific
deliverables and a review process.
▪ Phases are processed and completed one at a time.
▪ Works well for smaller projects where requirements are very well understood.
Disadvantages
▪ Adjusting scope during the life cycle can kill a project
▪ No working software is produced until late during the life cycle.
▪ High amounts of risk and uncertainty.
▪ Poor model for complex and object-oriented projects.
▪ Poor model for long and ongoing projects.
Poor model where requirements are at a moderate to high risk of changing.
V-Shaped Model
Advantages
▪ Simple and easy to use.
▪ Each phase has specific deliverables.
▪ Higher chance of success over the waterfall model due to the development of test
plans early on during the life cycle.
▪ Works well for small projects where requirements are easily understood.
Disadvantages
▪ Very rigid, like the waterfall model.
▪ Little flexibility and adjusting scope is difficult and expensive.
▪ Software is developed during the implementation phase, so no early prototypes of
the software are produced.
Model doesn’t provide a clear path for problems found during testing phases.
Incremental Model
Advantages
▪ Generates working software quickly and early during the software life cycle.
▪ More flexible – less costly to change scope and requirements.
▪ Easier to test and debug during a smaller iteration.
▪ Easier to manage risk because risky pieces are identified and handled during its
iteration.
▪ Each iteration is an easily managed milestone.
Disadvantages
▪ Each phase of an iteration is rigid and do not overlap each other.
Problems may arise pertaining to system architecture because notall requirements
are gathered up front for the entire software lifecycle.
Spiral Model
Advantages
▪ High amount of risk analysis
▪ Good for large and mission-critical projects.
▪ Software is produced early in the software life cycle.
Disadvantages
▪ Can be a costly model to use.
▪ Risk analysis requires highly specific expertise.
▪ Project’s success is highly dependent on the risk analysis phase.
▪ Doesn’t work well for smaller projects.