0% encontró este documento útil (0 votos)
261 vistas3 páginas

Modelo en Espiral: Desarrollo de Software

El modelo en espiral describe el desarrollo de software a través de iteraciones repetitivas llamadas espirales, con el objetivo de minimizar riesgos. Cada espiral incluye planificación, análisis de riesgos, desarrollo, pruebas y planificación de la siguiente iteración. A diferencia del modelo en cascada, permite retroalimentación temprana de usuarios y flexibilidad para adaptarse a cambios.

Cargado por

juan
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
261 vistas3 páginas

Modelo en Espiral: Desarrollo de Software

El modelo en espiral describe el desarrollo de software a través de iteraciones repetitivas llamadas espirales, con el objetivo de minimizar riesgos. Cada espiral incluye planificación, análisis de riesgos, desarrollo, pruebas y planificación de la siguiente iteración. A diferencia del modelo en cascada, permite retroalimentación temprana de usuarios y flexibilidad para adaptarse a cambios.

Cargado por

juan
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Modelo en Espiral

El desarrollo o modelo en espiral es un enfoque de desarrollo de software


que puede ser considerado como una respuesta a los inconvenientes del
desarrollo en cascada. El modelo en espiral describe el ciclo de vida de un
software por medio de espirales, que se repiten hasta que se puede entregar el
producto terminado. El desarrollo en espiral también se conoce como desarrollo
o modelo incremental. El producto se trabaja continuamente y las mejoras a
menudo tienen lugar en pasos muy pequeños.
Una característica clave del desarrollo en espiral es la minimización de los
riesgos en el desarrollo de software, lo que podría resultar en un aumento de
los costes totales, más esfuerzo y un lanzamiento retardado. Estos riesgos son
contrarrestados por el enfoque incremental, haciendo primero prototipos, que
luego pasan al menos una vez, por las fases de desarrollo de software.
El desarrollo en espiral es genérico y puede combinarse con otros métodos
de desarrollo clásicos y ágiles, por lo que también se denomina modelo o
desarrollo de segundo orden.

Información general
El desarrollo en espiral fue propuesto por Barry W. Boehm en su ensayo "A
Spiral Model of Software Development and Enhancement." En ese momento, el
modelo de desarrollo en cascada prevalecía, por lo que los inconvenientes
asociados fueron discutidos con frecuencia. A diferencia de otros modelos
como "code and fix" o el "modelo cascada", el desarrollo en espiral está basado
en el riesgo. La identificación y resolución de riesgos juega un papel importante
en las diferentes espirales del proyecto una vez definidos los objetivos y
condiciones. El enfoque se centra en los posibles factores que pueden causar
incertidumbres para el software o para todo el proyecto. Según el supuesto, si
los riesgos pueden ser controlados de una manera rentable, no hay nada que
impida la finalización exitosa del proyecto. Los enfoques para minimizar estos
riesgos son, por ejemplo, prototipos, simulaciones, pruebas de referencia o
entrevistas con los usuarios. Para ciertos tipos de riesgos, todo el
procedimiento puede incluso ser revisado y estructurado de manera diferente.
La intervención de la gerencia o management es posible en cada fase del
proyecto y pueden adaptarse otros enfoques de desarrollo.

Cómo funciona [editar]

El modelo de desarrollo en espiral se caracteriza por los siguientes ciclos


(también cuadrantes):[1]

 Objetivo y determinación alternativa: Los objetivos se determinan


conjuntamente con el cliente. Al mismo tiempo, se discuten posibles
alternativas y se especifican las condiciones marco (por ejemplo, sistemas
operativos, entornos y lenguajes de programación).
 Análisis y evaluación de riesgos: Se identifican y evalúan los riesgos
potenciales. También se evalúan las alternativas existentes. Los riesgos son
registrados, evaluados y luego reducidos utilizando prototipos, simulaciones y
softwares de análisis. En este ciclo, existen varios prototipos como plantillas de
diseño o componentes funcionales
 Desarrollo y prueba: Los prototipos se amplían y se añaden funcionalidades.
El código real es escrito, probado y migrado a un entorno de prueba varias
veces hasta que el software pueda ser implementado en un entorno productivo.
 Planificación del siguiente ciclo: El siguiente ciclo se planifica al final de
cada etapa. Si se producen errores, se buscan soluciones, y si una alternativa
es una mejor solución, se prefiere en el siguiente ciclo.

La fuerza impulsora más importante del desarrollo en espiral es el análisis y la


evaluación de riesgos. Cualquier riesgo que amenace el proyecto debe ser
identificado desde el principio. El progreso del proyecto depende decisivamente
de cómo se puedan eliminar los riesgos. El proyecto se considera exitoso sólo
cuando no hay riesgos. El objetivo del ciclo es producir un producto en continua
mejora. El software o la aplicación se perfecciona constantemente. El modelo
en espiral es incremental, pero no necesariamente repetitivo. Las repeticiones
ocurren sólo cuando los riesgos, errores o conflictos amenazan el proyecto.
Entonces el producto tiene que pasar por un ciclo de nuevo, llamado una
iteración o repetición.

Las fases por las que pasa cada ciclo


de la espiral
1. Planificación. Se determinan los objetivos y el alcance del ciclo que comienza,

tras un necesario ejercicio de investigación. Con cada iteración, se irá

incrementando el tamaño de software entregado y la funcionalidad cubierta.

2. Análisis de Riesgo. Se evalúa todo aquello que pueda afectar al proyecto

según el estado en que se encuentre y su grado de avance. Para ello, se

diseñarán los prototipos que deberán ser validados en el ciclo.

3. Implementación. Se desarrolla y valida el software según el alcance acordado,

el cual está íntimamente relacionado y condicionado con el análisis de riesgos

anterior.

4. Evaluación. Antes de proceder a realizar otra vuelta en la espiral, se debe

prestar atención a lo que sucedió en la vuelta anterior. Se debe analizar en

detalle si los riesgos detectados anteriormente ya tuvieron solución.

Básicamente, esta fase servirá para determinar el avance del proyecto y dar

pistas de hacia dónde debe enfocarse la próxima iteración.


Beneficios / Desventajas
 El modelo de desarrollo en espiral se utiliza a menudo para proyectos más
grandes que están sujetos a riesgos. Dado que estos riesgos tienen un impacto
monetario directo, el control de los presupuestos de los clientes y de las
empresas promotoras es fundamental. El modelo en espiral se utiliza
especialmente en los nuevos entornos técnicos, ya que éstos suponen un
riesgo.[2]
 Los conflictos entre los requisitos de un software y su diseño se evitan
eficazmente mediante el enfoque cíclico, ya que los requisitos pueden
comprobarse constantemente y, si es necesario, modificarse.[3]
 Se puede obtener feedback de los usuarios, desarrolladores y clientes en las
primeras fases del proyecto. Sin embargo, esta estructura también requiere
una gestión que tenga en cuenta los ciclos del producto y pueda responder
rápidamente a los riesgos. El control de tales proyectos es, por lo tanto,
relativamente complejo y también requiere una buena documentación para que
se registren todos los cambios.
 Aunque el software se prueba bajo varios aspectos durante el ciclo de
desarrollo y prueba (unidad, prueba de aceptación e integración), a menudo
sucede que los prototipos se transfieren al sistema de producción. Por lo tanto,
existe el riesgo de que se introduzcan otros errores e incoherencias
conceptuales en el producto final posterior.
 En los lugares donde se toman decisiones sobre los ciclos siguientes, existe el
riesgo de que se formen bucles y el proyecto tarde más tiempo si se toman
decisiones equivocadas. Por esta razón, las alternativas y su evaluación son
importantes.

Relevancia para la programación


A diferencia de un modelo secuencial (por ejemplo, el modelo en cascada)
dispuesto en fases sucesivas, el modelo en espiral esboza el ciclo de vida de
un software por medio de espirales que hay que recorrer. Por lo tanto, este
enfoque se parece más a la creación de prototipos que los enfoques clásicos.
El modelo en espiral se supone que evita las desventajas de otros modelos y
enfatiza las ventajas. Al centrarse en la minimización del riesgo, este modelo
tiene un componente financiero que puede ser relevante para los responsables
de la toma de decisiones. A través de discusiones con los clientes, análisis y
estudios de viabilidad, se pueden implementar proyectos a gran escala y
monitorizar su impacto económico. Hasta qué punto los métodos ágiles como
scrum, programación extrema o DevOps son mejores opciones dependen de
muchos factores diferentes como el alcance del proyecto, el presupuesto o el
nivel requerido de soporte y mantenimiento. Cuanto más flexibilidad se
requiera, más métodos ágiles se considerarán.

También podría gustarte