SDLC - Modelo en espiral
El modelo en espiral combina la idea de desarrollo iterativo con los aspectos sistemáticos y controlados del modelo en cascada. Este modelo en espiral es una combinación de modelo de proceso de desarrollo iterativo y modelo de desarrollo lineal secuencial, es decir, el modelo en cascada con un gran énfasis en el análisis de riesgos. Permite lanzamientos incrementales del producto o refinamiento incremental a través de cada iteración alrededor de la espiral.
Modelo en espiral - Diseño
El modelo en espiral tiene cuatro fases. Un proyecto de software pasa repetidamente por estas fases en iteraciones llamadas Espirales.
Identificación
Esta fase comienza con la recopilación de los requisitos comerciales en la espiral básica. En las espirales posteriores a medida que el producto madura, la identificación de los requisitos del sistema, los requisitos del subsistema y los requisitos de la unidad se realizan en esta fase.
Esta fase también incluye la comprensión de los requisitos del sistema mediante la comunicación continua entre el cliente y el analista del sistema. Al final de la espiral, el producto se despliega en el mercado identificado.
Diseño
La fase de Diseño comienza con el diseño conceptual en la espiral de la línea de base e involucra el diseño arquitectónico, el diseño lógico de los módulos, el diseño físico del producto y el diseño final en las espirales posteriores.
Construir o construir
La fase de construcción se refiere a la producción del producto de software real en cada espiral. En la espiral de la línea de base, cuando se piensa en el producto y se está desarrollando el diseño, se desarrolla una POC (Prueba de concepto) en esta fase para obtener comentarios de los clientes.
Luego, en las espirales posteriores, con mayor claridad en los requisitos y detalles de diseño, se produce un modelo funcional del software llamado build con un número de versión. Estas compilaciones se envían al cliente para recibir comentarios.
Evaluación y análisis de riesgos
El análisis de riesgos incluye la identificación, estimación y seguimiento de la viabilidad técnica y los riesgos de gestión, como retrasos en el cronograma y sobrecostos. Después de probar la compilación, al final de la primera iteración, el cliente evalúa el software y proporciona comentarios.
La siguiente ilustración es una representación del modelo en espiral, que enumera las actividades en cada fase.
Según la evaluación del cliente, el proceso de desarrollo de software entra en la siguiente iteración y, posteriormente, sigue el enfoque lineal para implementar los comentarios sugeridos por el cliente. El proceso de iteraciones a lo largo de la espiral continúa durante toda la vida del software.
Aplicación del modelo en espiral
El Modelo Espiral es muy utilizado en la industria del software ya que está sincronizado con el proceso de desarrollo natural de cualquier producto, es decir, aprender con madurez que implica un riesgo mínimo tanto para el cliente como para las empresas desarrolladoras.
Los siguientes indicadores explican los usos típicos de un modelo en espiral:
Cuando existe una restricción presupuestaria y la evaluación de riesgos es importante.
Para proyectos de riesgo medio a alto.
Compromiso con el proyecto a largo plazo debido a posibles cambios en las prioridades económicas a medida que los requisitos cambian con el tiempo.
El cliente no está seguro de sus requisitos, que suele ser el caso.
Los requisitos son complejos y necesitan evaluación para obtener claridad.
Nueva línea de productos que debe lanzarse en fases para obtener suficientes comentarios de los clientes.
Se esperan cambios significativos en el producto durante el ciclo de desarrollo.
Modelo en espiral: pros y contras
La ventaja del modelo de ciclo de vida en espiral es que permite agregar elementos del producto cuando están disponibles o se conocen. Esto asegura que no haya conflicto con los requisitos y el diseño anteriores.
Este método es consistente con los enfoques que tienen múltiples versiones y versiones de software, lo que permite hacer una transición ordenada a una actividad de mantenimiento. Otro aspecto positivo de este método es que el modelo en espiral obliga a que el usuario participe desde el principio en el esfuerzo de desarrollo del sistema.
Por otro lado, se necesita una gestión muy estricta para completar dichos productos y existe el riesgo de ejecutar la espiral en un bucle indefinido. Por lo tanto, la disciplina del cambio y el alcance de las solicitudes de cambio son muy importantes para desarrollar e implementar el producto con éxito.
Las ventajas del modelo Spiral SDLC son las siguientes:
Pueden adaptarse requisitos cambiantes.
Permite un uso extensivo de prototipos.
Los requisitos se pueden capturar con mayor precisión.
Los usuarios ven el sistema temprano.
El desarrollo se puede dividir en partes más pequeñas y las partes riesgosas se pueden desarrollar antes, lo que ayuda a una mejor gestión del riesgo.
Las desventajas del modelo Spiral SDLC son las siguientes:
La gestión es más compleja.
Es posible que el final del proyecto no se conozca antes.
No es adecuado para proyectos pequeños o de bajo riesgo y podría ser costoso para proyectos pequeños.
El proceso es complejo
La espiral puede continuar indefinidamente.
Un gran número de etapas intermedias requiere una documentación excesiva.