El Modelo Espiral , propuesto por Barry Boehm en 1986 , fue un avance significativo en la comprensión de la naturaleza del desarrollo de software. Es un proceso de desarrollo de software que combina iteración y fases.
Un rasgo distintivo de este modelo es la especial atención a los riesgos que afectan a la organización del ciclo de vida. Boehm formula los diez riesgos más comunes (priorizados):
La mayoría de estos riesgos están relacionados con los aspectos organizativos y de proceso de la interacción de los especialistas en el equipo del proyecto.
Cada vuelta de la espiral corresponde a la creación de un fragmento o versión del software, sobre el cual se especifican los objetivos y características del proyecto, se determina su calidad y se planifica el trabajo de la siguiente vuelta de la espiral. Por lo tanto, los detalles del proyecto se profundizan y concretan de manera consistente, y como resultado, se selecciona una opción razonable, que se lleva a la implementación. Cada turno se divide en 4 sectores:
En cada vuelta de la espiral, se pueden aplicar diferentes modelos del proceso de desarrollo de software. El resultado final es un producto terminado.
El desarrollo por iteraciones refleja el ciclo en espiral objetivamente existente de creación de sistemas. La finalización incompleta del trabajo en cada etapa le permite pasar a la siguiente etapa sin esperar la finalización completa del trabajo en la etapa actual. Con el desarrollo iterativo, el trabajo que falta se puede completar en la siguiente iteración.
La tarea principal es mostrar a los usuarios del sistema un producto viable lo antes posible, activando así el proceso de aclaración y complementación de requisitos. El principal problema del ciclo espiral es determinar el momento de transición a la siguiente etapa. Para solucionarlo, es necesario introducir límites temporales para cada una de las etapas del ciclo de vida. La transición procede de acuerdo con el plan, incluso si no se completa todo el trabajo planificado. El plan se elabora sobre la base de datos estadísticos obtenidos en proyectos anteriores y la experiencia personal de los desarrolladores.
Desarrollo de software | |
---|---|
Proceso | |
Conceptos de alto nivel | |
Direcciones |
|
Metodologías de desarrollo | |
Modelos |
|
Figuras notables |
|