Figure 2.7 Jimmy Vick over the Sinks. This photograph shows a literal interpretation of major
problems with a waterfall. In kayaking, cascades are tough because each dramatic drop can take
a paddler further off of his line, eventually dooming the run. Programming schedules can be
doomed when fixed in a sequence, slipping further with every major step in the cycle.
Major problems with the waterfall
Java eases many C ++ complexities, such as multiple inheritance and memory
management. We have a good start, but the process that we use to build applica-
tions is as important as the basic building blocks. In this review, we will briefly
explore the impact of methodologies on antipatterns. Traditional application
development, called the waterfall development methodology , can allow complex
and large projects to be attacked but falls short as requirements get more
dynamic (figure 2.7). In general, the waterfall methodology can also provide
safe harbor for antipatterns:
The process resists change in general, especially new requirements. This
resistance to change leads to fertile grounds for antipatterns, because we
have fewer opportunities to refactor.