One way to approach this would be to consider the areas in which the Waterfall model always falls short, namely: the long and detailed requirement specification phase, the extensive documentation written throughout the entire development cycle and the lack of customer involvement.
In the Waterfall model, the requirement analysis and definition is an extensive phase in which all the functions and constraints of the system are collected and analysed meticulously. The deliverable of this phase is a requirement specification document that will serve as guideline for the next phases.
To decrease the time spent in this phase and to optimize the requirements gathering, an idea would be to develop in parallel a prototype. This prototype is meant to be constantly subjected to customer’s feedback and modified accordingly until a “good enough” version is obtained.
Of course, when it comes to prototypes, one may choose from employing the so-called “throwaway prototypes” or “evolutionary prototyping”. “Throwaway prototypes” are more suitable for validating the requirements or clarifying those that have been poorly understood. Moreover, they may give hints about critical points or possible flaws and offer the opportunity to select a different design/solution that will overcome the issues. As its name implies, the prototype will be discarded and it will not be part of the final system. Therefore, once the client validates it, the workflow is expected to resume and continue with the design, implementation and testing phases.
Unlike the former one, evolutionary prototyping does not imply doing the same job twice and discarding the prototyped system after its validation, but rather using it and refining it (based on customer’s feedback) in the subsequent development phases. While a final refinement and testing are still required, it can be noted that this approach is similar to the iterative, incremental development methods.
One may argue of course that evolutionary prototyping is nothing else but a first step towards Agile and that “throwaway prototyping”, even though it has some advantages, is not suitable (due to its time and resource requirements) for today’s fast paced IT market. Therefore, I see no other ways and no possible “fixes” for the Waterfall model to succeed other than turning Agile.
