Selection of An Appropriate Project Approach
Selection of An Appropriate Project Approach
Approach
The Waterfall Model was first Process Model
to be introduced.
It is also referred to as a linear-sequential life
cycle model.
It is very simple to understand and use.
In a waterfall model, each phase must be
completed fully before the next phase can
begin.
This type of software development model is
basically used for the for the project which is
small and there are no uncertain
requirements.
At the end of each phase, a review takes
place to determine if the project is on the
right path and whether or not to continue or
discard the project.
In this model software testing starts only
after the development is complete.
This model is simple and easy to understand
and use.
It is easy to manage due to the rigidity of the
model – each phase has specific deliverables
and a review process.
In this model phases are processed and
completed one at a time. Phases do not
overlap.
Waterfall model works well for smaller
projects where requirements are very well
understood.
Once an application is in the testing stage, it is
very difficult to go back and change something
that was not well-thought out in the concept
stage.
No working software is produced until late
during the life cycle.
High amounts of risk and uncertainty.
Not a good model for complex projects.
Poor model for long and ongoing projects.
Not suitable for the projects where requirements
are at a moderate to high risk of changing.
This model is used only when the
requirements are very well known, clear and
fixed.
Product definition is stable.
Technology is understood.
There are no ambiguous requirements
Ample resources with required expertise are
available freely
The project is short.
The spiral model is similar to the incremental
model, with more emphasis placed on risk
analysis.
The spiral model has four phases: Planning, Risk
Analysis, Engineering and Evaluation.
A software project repeatedly passes through
these phases in iterations (called Spirals in this
model).
The baseline spiral, starting in the planning
phase, requirements are gathered and risk is
assessed. Each subsequent spirals builds on the
baseline spiral.
Easier to cope with the changes inherent to
software development
Software engineers can start working on the
project earlier rather than wading through a
lengthy early design process.
Estimates of budget and time are harder to
judge at the beginning of the project since
the requirements evolve through the process
The basic idea in Prototype model is that instead of
freezing the requirements before a design or coding
can proceed, a throwaway prototype is built to
understand the requirements.
This prototype is developed based on the currently
known requirements.
Prototype model is a software development model.
By using this prototype, the client can get an “actual
feel” of the system, since the interactions with
prototype can enable the client to better understand
the requirements of the desired system.
Prototyping is an attractive idea for complicated and
large systems for which there is no manual process or
existing system to help determining the
requirements.
Users are actively involved in the
development
Since in this methodology a working model of
the system is provided, the users get a better
understanding of the system being
developed.
Errors can be detected much earlier.
Quicker user feedback is available leading to
better solutions.
Missing functionality can be identified easily.
Practically, this methodology may increase
the complexity of the system as scope of the
system may expand beyond original plans.
Incremental Model is combination of one or
more Waterfall Models.