Going Over the Waterfall with the RUP by Philippe Kruchten (131 K) Rational Fellow When discussing the software development lifecycle, there is a temptation to quickly label the waterfall model as "bad." Instead of making hasty conclusions, we should ask questions. What is the right development lifecycle for my project? Is the waterfall lifecycle bad for this project? Or what about aligning the waterfall lifecycle with the Rational Unified Process? This last idea may sound like an oxymoron, as the Rational Unified Process® (RUP®) is touted as an iterative development process, and it holds "develop iteratively" as its number one best practice 1 . However, as many organizations are using an overall waterfall approach to system development, it makes sense to try to see how the two apparently conflicting lifecycle models might pair up, and how the RUP can be effectively used within an encompassing waterfall framework. There are many reasons why you may need to insert the RUP into a waterfall lifecycle: ● To match your software development approach to the development approach of a bigger system. ● To comply with externally imposed standards, especially in a bidding and contracting situation, where intermediate milestones are linked to the delivery of specific artifacts in sequential order. ● To deal with simple situations, like maintenance cycles, for which iterating might be overkill. ● Or, more simply, to introduce the RUP into an organization in which the waterfall mindset is very entrenched, and to avoid making too many changes at once. First you introduce some aspect(s) of the RUP, and then gradually shift to iterative development. Copyright Rational Software 2001 http://www.therationaledge.com/content/sep_01/t_waterfall_pk.html