Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

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.

You might also like