Limitations of A Sequential Process
Limitations of A Sequential Process
Limitations of A Sequential Process
Most software teams still use a waterfall process for development projects,
where they complete each phase in a strict sequence of requirements, then
analysis and design, then implementation/integration, and then testing. Or,
more commonly, a modified waterfall approach with feedback loops added
to the basic overall flow just described. Such approaches leave key team
members idle for extended periods of time and defer testing until the end of
the project life cycle, when problems tend to be tough and expensive to
resolve, and pose serious threats to release deadlines
The fundamental problem of this approach is that it pushes risk forward in
time so that it's costly to undo mistakes from earlier phases.
Two fundamentally wrong assumptions in the sequential development
process are
1. Requirements will be frozen.
2. We can get the design right on paper before proceeding.
We must accept the fact that the requirements change as we proceed with the
development work. New requirements continue to appear. Requirements
change for many reasons.
• The users change.
The users' needs cannot be frozen in time. Over a period of time they
become better educated as they see other systems and other products.
Their own work environment evolves.
• The problem changes.
After the system is implemented or while it is being implemented, the
system itself affects the perspective of users. As soon as the end users
see how their intentions have been translated into a system, the
requirements change. This is known as the IKIWISI effect: "I'll Know
It When I See It." Users don't really know what they want, but they
know what they do not want when they see it.
• The underlying technology changes.
It is not possible to ensure that our design is the right (correct, efficient,
feasible, and so on) solution to the problem. You can accumulate pages and
pages of design documentation and hundreds of blueprints and spend weeks
in reviews, only to discover, late in the process, that the design has major
flaws that cause serious breakdowns.