Modelo Ágil Vs Espiral para SDLC [cerrado]


Creo que Agile no es más que otra implementación del Modelo Espiral. Soy un gran partidario de Spiral (El modelo Spiral es un proceso de desarrollo de software que combina elementos de diseño y prototipado en etapas, en un esfuerzo por combinar las ventajas de los conceptos de arriba hacia abajo y de abajo hacia arriba) desde sus inicios y he visto que muchos proyectos implementan Spiral sin saber que están operando en un mundo Espiral. Desde el día Agile comenzó a ganar popularidad el concepto de espiral comenzó a ser pasado por alto un poco. Estoy seguro de que para proyectos complejos spiral sigue siendo la mejor alternativa, pero me gustaría obtener una mejor comprensión de las similitudes y diferencias entre las técnicas Ágiles y Espirales. ¿Puede alguien explicar sus diferencias / similitudes?

Author: Thomas Owens, 2008-10-31

6 answers

Ágil es espiral. Totalmente. En parte, el nombre fue cambiado con fines de marketing.

El problema es que la espiral tiende a implicar "gran diseño por adelantado" where donde se planifican muchas espirales, cada una en orden de riesgo. Espiral, sin embargo, no es Ágil -- solo incremental de ejecución en orden de riesgo.

Una gran distinción que Agile agrega es el "no planifiques cosas que aún no puedes saber." Agile es espiral, pero se crean planes detallados para solo uno incremento a la vez.

Agile agrega muchas otras cosas, también. Spiral es un enfoque muy técnico. Agile, sin embargo, reconoce que la tecnología es construida por las personas. El Manifiesto Ágil tiene cuatro principios que van más allá del enfoque simple de gestión de riesgos del Boehm.

 42
Author: S.Lott,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-10-31 15:02:45

La diferencia básica, como yo lo veo, es que la mayoría de los modelos espirales de desarrollo todavía insisten en un diseño grande y frontal. El énfasis está en saber todo lo que pueda sobre cómo se utilizará el sistema; descubriendo todos los casos de uso. Una vez que los conozca, diseñe el sistema y divídalo en fases que siguen un bucle iterativo de diseño, implementación, prueba y diseño de refactores. En Agile, su es un poco de planificación por adelantado perhaps tal vez la recopilación de gran comprensión grano (historia títulos) so para que se puedan describir las versiones razonables, pero cada versión se planifica de forma independiente y retrasamos el descubrimiento de los detalles hasta que estemos listos para comenzar la implementación de esa versión. Esperamos un cambio y no tratamos de saberlo todo primero.

Otra cosa que difiere es que la mayoría de las filosofías ágiles involucran métodos de "prueba primero". Esto es diferente de spiral donde las pruebas son a menudo una actividad en sí misma y las pruebas no se desarrollan antes del código. La mayoría de las veces son planificado de antemano, pero desarrollado en paralelo o después de la codificación. Muchos métodos ágiles insisten en desarrollar pruebas primero como la especificación para el código.

Son similares en que son iterativos. Difieren en la implementación y comprensión de lo que es una iteración.

 12
Author: tvanfosson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-10-31 15:07:24

No soy un experto en el Modelo Espiral, pero de la definición de wikipedia, me parece que hay algunas diferencias significativas.

Por ejemplo, en un proyecto Ágil, al final de una iteración no se encuentra un prototipo, sino un sistema completamente funcional, completamente probado y potencialmente implementable (1), que contiene las características de mayor prioridad en la lista de características.

La recopilación de requisitos al inicio del proyecto está destinada a ser apenas suficiente para ponerse en marcha (para tomar el siguiente paso) y están destinados a ser desarrollados poco antes de que se implementen realmente. Los cambios en los requisitos son bienvenidos.

Además, hay mucho más en Agile que solo hacer desarrollo iterativo: un enfoque en la conversación cara a cara en lugar de la comunicación escrita, un enfoque en unir a los empresarios y los técnicos en su trabajo diario. Un enfoque en maximizar el valor colaborativamente en lugar de definir y luego cumplir un contrato.

En si aún no lo has visto, echa un vistazo al Manifiesto Ágil , que básicamente es la definición de Desarrollo de Software Ágil.

(1) Eso no significa que tenga que tener sentido comercial para desplegar el sistema, "solo" que es técnicamente factible. Debería ser una decisión empresarial pura si implementar el sistema al final de una iteración.

 2
Author: Ilja Preuß,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-11-02 11:09:01

Creo que Agile es un tipo de SDLC Iterativo, mientras que spiral es un tipo de SDLC Incremental. Scrum es un tipo de Agile otros son DSDM / FDD / XP etc. Todos los SDLC después de waterfall siguieron el mismo conjunto de actos(Análisis de Requisitos, Diseño, Codificación y Pruebas) en algunas combinaciones diferentes. Así conjunto básico de acción en secuencial O Iterativo O Incremental son iguales.

En lo que respecta a Agile y Spiral, ambos tienen una ventaja común 1.Cambiar el manejo de requisitos 2.Lanzamientos a corto plazo 3.Riesgo la gestión es fácil debido a la menor duración del SDLC 4.Cross team ayuda a que el producto y el proyecto sean fluidos

 1
Author: Gajanan Polaswar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-13 11:26:37

First Agile es en realidad un número de procesos diferentes que siguen una filosofía similar. Una de las filosofías que lo hace diferente es que cada iteración produce un producto de trabajo. Podría describirse como iterativa e incremental. Se pone mucho énfasis en el producto de trabajo y en las pruebas. En muchos modelos ágiles, las pruebas preceden a la codificación.

En el modelo espiral el número de iteraciones es fijo, mientras que cada fase de un modelo ágil puede consistir en cualquier número de iteración.

Tienes razón en que hay similitudes, pero la filosofía subyacente hace la diferencia. Esta página explica con más detalle y compara agile con otros métodos.

Se puede decir que los procesos ágiles se basan en Casos de uso...poniendo mucho énfasis en las personas, el usuario final.

 0
Author: Vincent Ramdhanie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-10-31 15:03:16

Yo diría que espiral y ágil son similares. Sin embargo, últimamente agile a menudo se ha convertido en un sistema de propaganda para excusar la codificación cowboy. Es decir,

  • Requisitos extremadamente mínimos
  • Análisis técnico mínimo
  • Documentación mínima
  • No hay comentarios de código
  • Bono Especial misuse uso indebido del Diseño Impulsado por el Dominio para complicar en exceso el modelo de objetos

Esta nunca fue la idea con spiral. Yo diría que no es realmente el punto de Agile cualquiera, aunque te sorprendería cuántas veces he visto esto recientemente. Cada vez más desarrolladores/PMs experimentados están empezando a ver la sabiduría de un enfoque más equilibrado entre cascada y "ágil" perhaps tal vez esto simplemente nos lleva de nuevo a espiral.

Aunque hay algunas ideas útiles en el espacio de la mente Ágil, a menudo parece como si se manifestara de personas que estaban en organizaciones que tenían un diseño de software particularmente oneroso/inútil metodologías, y fue una reacción/sobre-reacción a eso.

 0
Author: alchemical,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-02-09 23:11:55