El modelo en espiral, propuesto originalmente por Boehm, es un modelo de proceso de software evolutivo que conjuga la naturaleza iterativa de construcción de prototipos con los aspectos controlados y sistemáticos del modelo lineal secuencial. Proporciona el potencial para el desarrollo rápido de versiones incrementales del software. En el modelo espiral, el software se desarrolla en una serie de versiones incrementales. Durante las primeras iteraciones, la versión incremental podría ser un modelo en papel o un prototipo. Durante las últimas iteraciones, se producen versiones cada vez más completas del sistema diseñado.
El modelo en espiral se divide en un número de actividades de marco de trabajo, también llamadas regiones de tareas. Generalmente, existen entre tres y seis regiones de tareas.
-Comunicación
con el cliente: Las tareas
requeridas para establecer comunicación entre el desarrollador y el
cliente.
-Planificación: Las tareas
requeridas para definir recursos, el tiempo y otra información relacionadas con
el proyecto.
-Análisis de
riesgos: Las tareas
requeridas para evaluar riesgos técnicos y de gestión.
-Ingeniería: Las tareas
requeridas para construir una o más representaciones de la
aplicación.
-Construcción y
acción: Las tareas
requeridas para construir, probar, instalar y proporcionar soporte al usuario
(por ejemplo: documentación y práctica).
-Evaluación del
cliente: Las tareas
requeridas para obtener la reacción del cliente según la evaluación de las
representaciones del software creadas durante la etapa de ingeniería e
implementada durante la etapa de instalación.
Cada una de las
regiones está compuesta por un conjunto de tareas del trabajo, llamado conjunto
de tareas, que se adaptan a las características del proyecto que va a
emprenderse. Para proyectos pequeños, el número de tareas de trabajo y su
formalidad es bajo. Para proyectos mayores y más críticos cada región de tareas
contiene tareas de trabajo que se definen para lograr un nivel más alto de
formalidad. En todos los casos, se aplican las actividades de protección (por
ejemplo: gestión de configuración del software y garantía de calidad del
software).
Cuando empieza
este proceso evolutivo, el equipo de ingeniería del software gira alrededor de
la espiral en la dirección de las agujas del reloj, comenzando por el centro. El
primer circuito de la espiral puede producir el desarrollo de una especificación
de productos; los pasos siguientes en la espiral se podrían utilizar para
desarrollar un prototipo y progresivamente versiones más sofisticadas del
software. Cada paso por la región de planificación produce ajustes en el plan
del proyecto.
El coste y la
planificación se ajustan con la realimentación ante la evaluación del cliente.
Además, el gestor del proyecto ajusta el número planificado de iteraciones
requeridas para completar el software.
El modelo en
espiral es un enfoque realista del desarrollo de sistemas y de software a gran
escala. Como el software evoluciona, a medida que progresa el proceso el
desarrollador y el cliente comprenden y reaccionan mejor ante riesgos en cada
uno de los niveles evolutivos.
El modelo en
espiral demanda una consideración directa de los riesgos técnicos en todas las
etapas del proyecto, y, si se aplica adecuadamente, debe reducir los riesgos
antes de que se conviertan en problemáticos. Pero al igual que otros paradigmas,
el modelo en espiral no es la panacea. Puede resultar difícil convencer a
grandes clientes (particularmente en situaciones bajo contrato) de que el
enfoque evolutivo es controlable.
Requiere una
considerable habilidad para la evaluación del riesgo, y cuenta con esta
habilidad para el éxito. Si un riesgo importante no es descubierto y gestionado,
indudablemente surgirán problemas. Finalmente, el modelo no se ha utilizado
tanto como los paradigmas lineales secuenciales o de construcción de prototipos.
Todavía tendrán que pasar muchos años antes de que se determine con absoluta
certeza la eficacia de este nuevo e importante paradigma.
Este comentario ha sido eliminado por el autor.
ResponderEliminara bueno pa saber
EliminarEste modelo es una de las metodologias del desarrollo de software más usadas por mi equipo de desarrollo, ya que debido a nuestras circunstancias tenemos que hacer varias iteraciones sobre el proceso para subsanar nuevas necesidades.
ResponderEliminarEste comentario ha sido eliminado por el autor.
EliminarEstoy aplicando el modelo para el contexto educativo. Muy bueno.
ResponderEliminarCOME KAKA jajajajaja TE TROLIE
EliminarEn la imagen está al revés el cuadro de "Construcción y Entrega" y "Evaluación del Cliente"
ResponderEliminarit´s very good...
ResponderEliminarNO APRENDI NADA
ResponderEliminar