Tradicionalmente se reconoce que, si bien, producido por el hombre, el software padece del rigor del llamado ciclo de vida, que rige a todo en la naturaleza, tiene un comienzo, un desarrollo, un proceso de maduración y un final. En el entorno del desarrollo de software, se identifica el ciclo de vida como la secuencia de: análisis y especificación de requerimientos, diseño de interfaces y de software, implementación y pruebas unitarias, de integración y del sistema, implantación, y finalmente el mantenimiento