Even though the Agile method isnow being increasingly adopted by organizations worldwide, especially forsoftware development, too many organizations still cling to waterfall.
The main thing that influences thedecision what methodology isused are probably the existingprocesses. Your organization’s current processes are likely to determine theway you run your project, regardless of its nature. But, thisshouldn’t be the case. Project managers are more than able to assist theirorganizations and suggest how they should implement projects in the mosteffective and efficient way while reducing risks.
For this, you need to have adeeper understanding of how each project management methodology may impact the projectand its success. Choosing the right methodology can be key to successfulcompletion of a project. So, if your organization still uses the waterfallmethodology, read on and see for yourself why this needs to change.As you know, the Waterfall methodis a sequential approach, separating a project into different phases, where onephase has to be completed before starting the next one. So here are the 3crucial flaws caused by this: 1 No FlexibilityThe Waterfall methodin its core means following a predetermined set of steps, as the methodology,in its traditional form, leaves almost no room for unexpected changes orrevisions. You have to be clear with all the development requirementsbeforehand and just keep your team always moving forward. A probable and highlyundesirable scenario is that your team will carefully follow the steps nearlyto the end of the project but, they may face an unforeseen obstruction that requiresa change in scope or goals. Since the used methodology doesn’t welcome change, proceedingwith the initial plan won’t be easy.
Asyou’ll have already put a considerable amount of work into a project, undervery specific and fixed assumptions, an unexpected change to any parameter ofthe project may render much of the finished work useless. This may have severe consequences and eventhrow off the entire timeline. Another aspect of Waterfall that reducesflexibility is that Waterfall projects are highly integrated and not anobject-oriented approach. 2 Uncertain andtime consuming preplanning When using thismethod you must produce a detailed and thorough requirement definition in oneof the earliest phases of the project. But, in such an early phase of theproject, trying to define the requirements is often very difficult. Therefore,many of the requirements are subject to change throughout the project. Specifyingrequirements in advance means that a lot of the requirements are based onassumptions. You may come across many difficulties to validate thoseassumptions since the first builds are not available until late in thedevelopment phase.
Even the client has to outline all their preferencesupfront, without seeing a working version. Once the first builds are available,it’s often too late to change requirements without substantial delays of theproject. Also, when planning everything up front, very often you can overlook certainchanges due to business plans or market influences. Since change is unwelcomeand difficult to carry out, any new developments or changes of requirementswhich may occur after the initial agreement may raise serious concerns.
3 Delayed Testing PeriodTesting is a very important phaseof a project as the results have an impact on all the work that has been done. Thebest practice would be to integrate testing as a fundamental and continualprocess throughout development. This has been the case with more recent SDLCmodels, whereas the waterfall model largely differs, leaving the testing untilquite late into the life cycle.
This means quality and security issues orintegration problems with existing products are typically discovered quite latein the process. Fixing such issues requires a lot of effort. What’s worse,sometimes testing may be short-changed in order to stay on schedule, and thatmeans that bugs will be discovered by the customer only after the delivery ofthe product.
In turn, this makes fixing the code expensive and time-consuming.It has been shown that a bug identified at a later stage can cost up to 60percent more to get fixed, as compared to its cost when identified at anearlier stage. Another issue related to the testing is the possible appearanceof careless coding practices. Testing teams often get a lesser time frame tocomplete test execution and since more time is spent during the initial stagesfor detailed documentation, leaving testing only an afterthought, not muchattention is paid to it. 4 Lack of client or stakeholder interactionAt times when communication seemsto be one of the crucial factors that can impact project’s success, you cannotafford to leave the client or stakeholders out.
In the Waterfall method a lotof time is spent with the client at the outset, with an attempt to document allthe perceived requirements. After this has been done, the implementation teamusually take over and the client has no say until the project is nearly done. However,the feedback that arrives late into the development cycle can present a significantissue.
Due to the strict sequential process enforced by the waterfall model, anunforeseen requirement or request for a change, although not impossible to bedone, will be both costly and time-consuming for everyone involved in theproject. So, this method is definitely not suitable for projects with moderateto high risk of change of requirements. If you are still not completelyconvinced with these reasons, add the high amounts of risk and uncertainty and longerdelivery time to the list. Anyway, which approach do you prefer? Which factorsmade you decide?