صنعت نرم افزار پس از آغازش در دهه پنجاه و دهه شصت به سرعت پیشرفت کرد. همچنان که صنعت نرم افزار به پیشرفت خود ادامه می داد، نیاز به پیشگویی و کنترل بهتر پروژه های نرم افزاری با مقیاس بزرگ ما را به سوی مدل فرایند نرم افزار آبشاری هدایت نمود. همان طوری که شکل بالا نشان می دهد. در این مدل، توسعه نرم افزار به صورت سری های منظم از مراحل متوالی انجام می شود. به طوری که در ابتدا نیازمندی ها مورد موافقت قرار می گیرند، سپس طراحی ایجاد می گردد و به دنبال آن پیاده سازی کد انجام می شود. نهایتاً، برای بررسی انطباق نرم افزار با نیازمندها و طراحی اش مورد آزمون قرار می گیرد.
طبق تجربه ام، مدل ساده ای [همانند آنچه در شکل بالا نشان داده شده است] برای توسعه نرم افزار بزرگ هرگز کار نخواهد کرد.
متاسفانه، راهنمایی او به فراموشی سپرده شد و شاید تفکر ساختمانی مانند و گرافیگ ساده آن در شکل بالا باعث گمراهی شد و بدین ترتیب به طور رایج مورد استفاده قرار گرفت در صورتی که رویس چنین هدفی نداشت.