1.2. Enfoques del ciclo de vida
Aunque todo ciclo de vida de un proyecto de desarrollo de software contiene las etapas que hemos visto anteriormente, la manera de llevarlas a cabo varía según cada proyecto, ello da lugar a distintos enfoques del ciclo de vida. Los principales son:
- Ciclo de vida clásico o en cascada.
- Ciclo de vida en cascada con vuelta atrás.
- Ciclo de vida basado en prototipos.
- Ciclo de vida en espiral.
Ciclo de vida clásico o en cascada
El modelo de ciclo de vida en cascada es el modelo más simple en desarrollo de software. En él las etapas se llevan a cabo una detrás de otra de forma lineal, así sólo cuando la primera fase se termina se puede empezar con la segunda, y así progresivamente.
Ciclo de vida en cascada con vuelta atrás
El ciclo de vida clásico o en cascada no siempre es la mejor opción a adoptar en el desarrollo de software, hay ocasiones en las que podríamos considerar la posibilidad de volver atrás desde cualquier etapa, ello supone una mejora al ciclo de vida clásico.
Ciclo de vida basado en prototipos
En la práctica, se parte de un modelo base inicial aproximado que con la ayuda y aportación del cliente y usuarios se va puliendo, desarrollando así el prototipo según dichas especificaciones hasta completar el proyecto software.
Ciclo de vida en espiral
Como se observa en la figura siguiente, este tipo de ciclo de vida se divide en cuatro grandes etapas: planificación, análisis de riesgos, ingeniería y evaluación. En cada etapa se va pasando de forma circular y creciente a la siguiente, así en cada paso es preciso valorar y considerar más recursos y trabajo (tiempo, dinero, recursos humanos, etc) para acercarse a la solución final.
Según las características particulares de cada proyecto software, podremos decidirnos por un tipo de Ciclo de vida u otro:
- Si el equipo de desarrollo posee la experiencia suficiente y los requisitos están perfectamente fijados, es recomendable un ciclo de vida en cascada.
- El ciclo de vida en espiral será el elegido si durante el desarrollo del proyecto se tendrán en cuenta riesgos o imprevistos.
- En el caso de tener que ir afinando con el cliente cada etapa, con el objetivo de mostrarle su utilidad, el ciclo de vida basado en prototipos será el elegido.
En la práctica se suelen dar situaciones que incluyen parte de una o varias de estas características. Es por ello necesario establecer formalmente una metodología de desarrollo de software que ayude en todo el proceso para garantizar una solución final acertada (por ejemplo, Métrica v3).