Un programa de software como todo sistema tienen un inicio y un fin, aunque teóricamente podría ejecutarse en las computadoras por siempre, el uso del mismo algún día acabará al ser sustituido por otro sistema o simplemente abandonado. El proyecto para crear el software también tiene un ciclo de vida, como todo proyecto está delimitado por el tiempo en cambio la operación puede ser continua.
Todos conocemos el ciclo de vida de Cascada, es el que nos enseñaron en la escuela y se puede decir que es el más lógico, terminas una etapa y continuas con la siguiente: Análisis, Diseño, Desarrollo, Implementación y Mantenimiento. Sin embargo, rara vez un proyecto es así de lineal, tendría que ser en una ambiente muy controlado sin cambios en requerimientos, con clientes congruentes, etc.
Otro ciclo de vida popular es el de Espiral, el cual permite recorrer las fases mencionadas una y otra vez, haciendo ajustes según se requiera. La ventaja de este modelo es que permiten al proyecto crear un sistema exactamente a las especificaciones del cliente, la desventaja es que no hay claridad en el tiempo que se requiere. Es recomendable para proyectos “in-house”, donde no hay limitantes de recursos y tiempo.
El marco de trabajo MSF reúne lo mejor de ambos mundos, en su modelo de ciclo de vida vemos el espiral pero debidamente delimitado en fases, las iteraciones también son planeadas para que haya predictibilidad en el proyecto. Cada rombo representa un hito en el proyecto.
-
Visión y Alcance, necesitamos definir bien que se va a hacer y hasta donde se va a llegar, se prepara el equipo
-
Diseño, se define los requerimientos del sistema y se define el diseño de la solución, se planea todo el proyecto
-
Desarrollo, se construye la solución de acuerdo a especificaciones
-
Pruebas, se somete la solución al control de calidad
-
Implementación, entrega de la solución, preparación para operaciones
Al utilizar cualquier modelo de ciclo de vida, se tiene que comunicar al cliente para que conozca las fases y como se va a trabajar. Normalmente los clientes solo se preocupan por el costo y la fecha de liberación, sin embargo su papel es clave en cada una de las fases.