The waterfall, spiral,
iterative and scrum are all agile software development models! At a glimpse of
them, they may all seem like similar software development processes. But this
is absolutely wrong! At surface they may appear to be one and the same but when
you go in to the depths of the understanding of these processes you will come
to know that there is a “considerable” difference among them.
In this article
we are going to discuss among all these processes. Let us go through these
processes one by one:
1. Waterfall Model:
- Waterfall model follows a sequential design rather then following a
haphazard order of processes. - By the name itself you can make out the flow
of the development is downwards like a water falling down an actual
waterfall.
- Most of the agile software development models have same number
and types of phases, but the way they are implemented is different.
- The
waterfall model can only be implemented in the software projects that
require highly structured development environments.
- This is the only agile
development process that can be adapted for both the hardware and software
projects.
- If you have implemented waterfall model for the development
project you cannot move on to the next phase before completing the
previous one.
- However, in some very extreme cases, the developers hold the
privilege to modify it to suit their needs.
- The water fall model is based
up on the philosophy that if you spend more time in the early phases
looking for the errors and faults, the less time and effort will be spent
in the later stages which are quite complex too.
2. Spiral Model:
- This software development model is a resultant of the combination of
prototyping in stages and designing and thus possesses the combined
advantages of both the top down and bottom up concepts.
- Unlike the other
software development processes, the spiral model is intended for use in
the projects that are quite large, expensive and complicated.
- Prototyping
is nothing here but the iterative development combined with the controlled
aspects of the waterfall model.
- It does allow for the incremental releases
of the software at the end of every refinement.
- Unlike the waterfall
model, the spiral model is inclusive of the risk management for the
identification of the major risks whether managerial and technical and
determines how to lessen it.
- This model evolves around the idea of the
continuous refinement of the requirements definition, requirements
analysis, implementation and software design and so on.
- This model makes
use of the same stages as the waterfall model but they are separated by
risk assessment, planning and building of prototypes and simulation.
- Documentation
is produced whenever needed and not unnecessarily.
3. Iterative
and Incremental Development:
- This software development model was developed
as a means to overcome the minus points of the waterfall model.
- Unlike the
other software development processes, this one starts with a lot of
initial planning and continues with many cyclic interactions and finally
ends with deployment.
- This software development model in turn forms a very
important part of many other agile software development process like RUP
and extreme programming.
- The iterative and incremental development model
is known to follow plan- do- check- act cycles of the business process
improvement.
4. Scrum:
- Scrum is so contrasting with all the other software development processes.
- The waterfall model is intended to complete the project in one discipline
one step at a time and goes for the next discipline in next step.
- It
delivers the business value at the end itself but this is not the case
with the scrum!
- Here with every iteration a business value is delivered.
No comments:
Post a Comment