El documento describe varios modelos de ciclo de vida de desarrollo de software. El primer modelo fue el modelo cascada, pero desde entonces se han propuesto nuevos modelos como el incremental, evolutivo y de prototipado para hacer el desarrollo de software más rápido y flexible. Cada modelo define las fases principales y cómo fluye el proceso de desarrollo de una fase a otra.