2. IntroducciónIntroducción
El Desarrollo en Espiral es un modelo de cicloEl Desarrollo en Espiral es un modelo de ciclo
de vida desarrollado por Barry Boehm en 1988,de vida desarrollado por Barry Boehm en 1988,
utilizado generalmente en la Ingeniería deutilizado generalmente en la Ingeniería de
software. Las actividades de este modelo sonsoftware. Las actividades de este modelo son
una espiral, cada bucle es una actividad. Lasuna espiral, cada bucle es una actividad. Las
actividades no están fijadas a prioridad, sinoactividades no están fijadas a prioridad, sino
que las siguientes se eligen en función delque las siguientes se eligen en función del
análisis de riesgo, comenzando por el bucleanálisis de riesgo, comenzando por el bucle
interior.interior.
3. En este modelo, el esfuerzo de desarrollo es iterativo.En este modelo, el esfuerzo de desarrollo es iterativo.
Tan pronto como uno completa un esfuerzo deTan pronto como uno completa un esfuerzo de
desarrollo, otro comienza. Además, en cada desarrollodesarrollo, otro comienza. Además, en cada desarrollo
ejecutado, puedes seguir estos cuatros pasos:ejecutado, puedes seguir estos cuatros pasos:
1.1. Determinar qué quieres lograr.Determinar qué quieres lograr.
2.2. Determinar las rutas alternativas que puedes tomarDeterminar las rutas alternativas que puedes tomar
para lograr estas metas. Por cada una, analizar lospara lograr estas metas. Por cada una, analizar los
riesgos y resultados finales, y seleccionar la mejor.riesgos y resultados finales, y seleccionar la mejor.
3.3. Seguir la alternativa seleccionada en el paso 2.Seguir la alternativa seleccionada en el paso 2.
4.4. Establecer qué tienes terminado.Establecer qué tienes terminado.
4. Algunos principios básicosAlgunos principios básicos
del modelo espiral:del modelo espiral:
Decidir qué problema se quiere resolver antes de viajar aDecidir qué problema se quiere resolver antes de viajar a
resolverlo.resolverlo.
Examinar tus múltiples alternativas de acción y elegir unaExaminar tus múltiples alternativas de acción y elegir una
de las más convenientes.de las más convenientes.
Evaluar qué tienes hecho y qué tienes que haberEvaluar qué tienes hecho y qué tienes que haber
aprendido después de hacer algo.aprendido después de hacer algo.
No ser tan ingenuo para pensar que el sistema que estásNo ser tan ingenuo para pensar que el sistema que estás
construyendo será "EL" sistema que el cliente necesita, yconstruyendo será "EL" sistema que el cliente necesita, y
Conocer (comprender) los niveles de riesgo, que tendrásConocer (comprender) los niveles de riesgo, que tendrás
que tolerar.que tolerar.
5. El Modelo Espiral mejora el Modelo de CascadaEl Modelo Espiral mejora el Modelo de Cascada
enfatizando la naturaleza iterativa del procesoenfatizando la naturaleza iterativa del proceso
de diseño. Eso introduce un ciclo de prototipode diseño. Eso introduce un ciclo de prototipo
iterativo. En cada iteración, las nuevasiterativo. En cada iteración, las nuevas
expresiones que son obtenidas transformandoexpresiones que son obtenidas transformando
otras dadas son examinadas para ver siotras dadas son examinadas para ver si
representan progresos hacia el objetivo.representan progresos hacia el objetivo.
6. - Modelo espiral -- Modelo espiral -
Actividades principalesActividades principales
Primer Paso.Primer Paso. Identificación de:Identificación de:
Los objetivos de la parte del producto que estáLos objetivos de la parte del producto que está
siendo elaborada (rendimientos, funcionalidad,siendo elaborada (rendimientos, funcionalidad,
adaptación al cambio, etc.).adaptación al cambio, etc.).
Las alternativas principales de la implementaciónLas alternativas principales de la implementación
de esta porción del producto (usar el diseño A, usarde esta porción del producto (usar el diseño A, usar
el diseño B, reutilizar el módulo X de la aplicación Z,el diseño B, reutilizar el módulo X de la aplicación Z,
comprar a un proveedor externo, etc.).comprar a un proveedor externo, etc.).
Las restricciones impuestas para cada alternativaLas restricciones impuestas para cada alternativa
(costes, planificaciones, interfaces, etc.).(costes, planificaciones, interfaces, etc.).
7. SSegundo paso.egundo paso. EvaluarEvaluar las diferentes alternativas quelas diferentes alternativas que
se plantean teniendo en cuenta los objetivos a conseguirse plantean teniendo en cuenta los objetivos a conseguir
y las restricciones impuestas. Frecuentemente, estey las restricciones impuestas. Frecuentemente, este
paso identifica las áreas de incertidumbre del proyectopaso identifica las áreas de incertidumbre del proyecto
con sus correspondientes riesgos.con sus correspondientes riesgos.
Si existen riesgos, lo siguiente es la formulación de unaSi existen riesgos, lo siguiente es la formulación de una
estrategiaestrategia efectiva en coste (utilizando prototipos,efectiva en coste (utilizando prototipos,
simulación, bancos de prueba, cuestionario para lossimulación, bancos de prueba, cuestionario para los
usuarios, modelización analítica o combinaciones deusuarios, modelización analítica o combinaciones de
éstas y otras técnicas de resolución de riesgos) paraéstas y otras técnicas de resolución de riesgos) para
resolver dichos riesgos.resolver dichos riesgos.
- Modelo espiral -- Modelo espiral -
Actividades principalesActividades principales
8. Tercer paso.Tercer paso. Consiste enConsiste en desarrollar, verificar y validardesarrollar, verificar y validar
(probar):(probar):
Tareas de la actividad propia y de prueba.Tareas de la actividad propia y de prueba.
Análisis de alternativas e identificación resolución deAnálisis de alternativas e identificación resolución de
riesgos.riesgos.
Dependiendo del resultado de la evaluación de losDependiendo del resultado de la evaluación de los
riesgos, se elige un modelo para el desarrollo, el queriesgos, se elige un modelo para el desarrollo, el que
puede ser cualquiera de los otros existentes, comopuede ser cualquiera de los otros existentes, como
formal, evolutivo, cascada, etc.formal, evolutivo, cascada, etc.
- Modelo espiral -- Modelo espiral -
Actividades principalesActividades principales
9. Cuarto paso.Cuarto paso. Revisar todo lo hecho,Revisar todo lo hecho,
evaluándolo, y con ello decidir si se continúaevaluándolo, y con ello decidir si se continúa
con las fases siguientes y planificar la próximacon las fases siguientes y planificar la próxima
actividad.actividad.
- Modelo espiral -- Modelo espiral -
Actividades principalesActividades principales
10. Características:Características:
En cada giro se construye un nuevo modelo del sistemaEn cada giro se construye un nuevo modelo del sistema
completo.completo.
Este modelo puede combinarse con otros modelos deEste modelo puede combinarse con otros modelos de
proceso de desarrollo (cascada, evolutivo).proceso de desarrollo (cascada, evolutivo).
Mejor modelo para el desarrollo de grandes sistemas.Mejor modelo para el desarrollo de grandes sistemas.
El análisis de riesgo requiere la participación de personalEl análisis de riesgo requiere la participación de personal
altamente calificado.altamente calificado.
11. Desventajas:Desventajas:
Resulta difícil convencer a grandes clientes deResulta difícil convencer a grandes clientes de
que el enfoque evolutivo es controlable.que el enfoque evolutivo es controlable.
Es nuevo (1988) y no se ha utilizado tanto comoEs nuevo (1988) y no se ha utilizado tanto como
otros modelos de ciclo de vida.otros modelos de ciclo de vida.
Debido a su elevada complejidad no seDebido a su elevada complejidad no se
aconseja utilizarlo en pequeños sistemas.aconseja utilizarlo en pequeños sistemas.
12. Ventajas:Ventajas:
El modelo en espiral puede adaptarse y aplicarse aEl modelo en espiral puede adaptarse y aplicarse a
lo largo de la vida del software de computadora.lo largo de la vida del software de computadora.
Como el software evoluciona a medida que progresaComo el software evoluciona a medida que progresa
el proceso, el desarrollador y el cliente comprendenel proceso, el desarrollador y el cliente comprenden
y reaccionan mejor ante riesgos en cada uno de losy reaccionan mejor ante riesgos en cada uno de los
nivele evolutivos.nivele evolutivos.
El modelo en espiral permite a quien lo desarrollaEl modelo en espiral permite a quien lo desarrolla
aplicar el enfoque de construcción de prototipos enaplicar el enfoque de construcción de prototipos en
cualquier etapa de evolución del producto.cualquier etapa de evolución del producto.
13. Ventajas:Ventajas:
El modelo en espiral demanda unaEl modelo en espiral demanda una
consideración directa de los riesgos técnicos enconsideración directa de los riesgos técnicos en
todas las etapas del proyecto y si se aplicatodas las etapas del proyecto y si se aplica
adecuadamente debe reducir los riesgos antesadecuadamente debe reducir los riesgos antes
de que se conviertan en problemas.de que se conviertan en problemas.
En la utilización de grandes sistemas a dobladoEn la utilización de grandes sistemas a doblado
la productividad.la productividad.