Software development, as it is, is complex. That happens especially when there are large teams and timelines. Even a few decades ago, design processes weren’t keeping pace with with rate of the domain’s growth and there was a need for evolution.
2. There’s no doubt that it’s not easy to develop software. That happens especially
when there are large teams and timelines. From the early 80s, it became
apparent that there was a need for
software development methodologies,
or design processes if you will. With so
much at stake, it had to evolve in any
case.
Many design processes have evolved
over time, refined as was the need of
the day. These methodologies define
how a software product is created, from
its concept to the final form. Today,
there are numerous development processes: waterfall model, agile model, etc.
are some examples.
Both approaches have their strong points and weak points. It’s also, to an extent,
up to the organizations that implement these; both of them are different means
to the same end. Organizations looking to implement any of these need to assess
their needs, see what model they can support, their strong points and the weak
points, etc. before going with any one.
The waterfall methodology is based on phases. You move from one phrase to the
other as each one gets completed. This model has seven phases: specification,
design, coding, integration, testing, installation and maintenance. As you can see,
going through this implementation
makes a lot of sense.
There are many benefits of this
model. One of them is that it’s
simpler. The second one is that,
since it’s a phase-based model, you
can save a lot of efforts, and time, if
an oddity is identified at an earlier
stage. It isn’t perfect in any case. Many believe it’s impossible to complete a
phase before moving on to the next one.
Waterfall Methodology Page 2
3. People also say that adopting such a model makes the entire development cycle
very rigid, and leaves little scope for changes, or improvements. Consider this:
you start off with a product after stumbling upon a really good idea. The product’s
design is ready and you have started coding as well. In a few days, you want to go
back and change one small thing.
This is where the waterfall model’s biggest drawback lies. You get stuck at phases
and there’s no room to improve-you have to start from scratch. You have to
consider all such things, however big or small, before you implement a particular
methodology on a large scale. Flexibility isn’t the waterfall method’s strong point;
if that’s what you are looking for, maybe it’s time to look into agile.
Waterfall Methodology Page 3