El documento describe las fases típicas en el desarrollo de software de ingeniería: 1) Análisis, donde se establecen los requisitos del producto; 2) Diseño y arquitectura, donde se determina cómo funcionará el software de forma general; 3) Codificación, pruebas y documentación, donde el diseño se convierte en código comprobable, y 4) Mantenimiento, donde el software se mantiene y mejora. Cada versión importante generalmente pasa por etapas alfa y beta para eliminar errores antes de volverse estable.