software seguir que proceso pasos modelo metodologia iterativo iteraciones incremental framework entre diferencia desventajas desarrollo definicion agile methodology iteration

agile - seguir - proceso iterativo



Diferencia entre desarrollo ágil e iterativo e incremental (5)

¿Cuál es la diferencia entre desarrollo ágil e iterativo e incremental? ¿Agile se considera iterativo e incremental? Alguna información que se muestra Agile es la más reciente de iterativo e incremental. Necesito una aclaración clara sobre esto.


Agile es la técnica más utilizada en el desarrollo de proyectos. En la tecnología ágil las personas son conmutadores de una tecnología a otra. El objetivo principal es eliminar la dependencia. Like Peoples pasó de la producción al desarrollo, y del desarrollo a la prueba. Es por eso que la dependencia se eliminará en un solo equipo o persona ..


Algunos proyectos de software importantes y ejecutados con éxito como Google Chrome y Mozilla Firefox son buenos ejemplos de desarrollo de software iterativo e incremental.

Citaré el artículo de Fine Ars Technica que describe este enfoque: http://arstechnica.com/information-technology/2010/07/chrome-team-sets-six-week-cadence-for-new-major-versions/

Según el gerente del programa de Chrome, Anthony Laforge, el aumento del ritmo está diseñado para abordar tres objetivos principales. Una es para obtener nuevas funciones para los usuarios más rápido. El segundo es hacer que el calendario de lanzamiento sea predecible y, por lo tanto, sea más fácil planificar qué funciones se incluirán y qué funciones se utilizarán para lanzamientos posteriores. En tercer lugar, y lo más contradictorio, es reducir el nivel de estrés para los desarrolladores de Chrome. Laforge explica que los períodos de tiempo más cortos y predecibles entre lanzamientos son más parecidos a "trenes que salen de Grand Central Station". Las nuevas características que están listas no tienen que esperar otras que tardan más tiempo en completarse; pueden simplemente utilizar el "lanzamiento" de lanzamiento actual. Esto, a su vez, puede aliviar la presión de los desarrolladores para que se apresuren a hacer otras funciones, ya que llegará otro tren de lanzamiento en seis semanas. Y pueden descansar tranquilos sabiendo que su trabajo no es impedir que el tren salga de la estación. <<


El desarrollo incremental significa que las diferentes partes de un proyecto de software se integran continuamente en el todo, en lugar de un enfoque monolítico donde todas las partes se ensamblan en uno o algunos hitos del proyecto.

Iterativo significa que una vez que se completa una primera versión de un componente, se prueba, se revisa y los resultados se transforman casi inmediatamente en una nueva versión (iteración) de este componente.

Entonces, como primer resultado: el desarrollo iterativo no necesita ser incremental y viceversa, pero estos métodos encajan bien.

El desarrollo ágil tiene como objetivo reducir los gastos generales de planeo en proyectos de software para permitir reacciones rápidas para cambiar, por ejemplo, en los deseos de los clientes. El desarrollo incremental e iterativo casi siempre es parte de una estrategia de desarrollo ágil. Hay varios enfoques para el desarrollo ágil (por ejemplo, scrum).


El desarrollo iterativo implica revisar los pasos habituales del modelo de cascada a lo largo de la vida útil del producto. Las etapas pueden incluso superponerse, es decir, mientras se realizan las pruebas de extremo a extremo, ya puede comenzar a preparar nuevos requisitos.

El desarrollo incremental significa que planea sus características y las implementa de forma incremental.

Agile tiene como objetivo crear un "producto potencialmente enviable" después de cada carrera. Cómo lo logras es una historia diferente. Agile intenta emplear las "mejores" técnicas de varios campos (por ejemplo, programación extrema). Agile no excluye ejecutar ni desarrollo incremental ni iterativo.


  • Iterativo: no termina una función de una vez. Estás en un código >> obtener retroalimentación >> código >> ... ciclo. Sigues iterando hasta que termines
  • Incremental: construyes todo lo que necesitas en este momento. No debe sobre-diseñar o agregar flexibilidad a menos que se demuestre la necesidad. Cuando surge la necesidad, se construye sobre lo que ya existe. (Nota: difiere de iterativo en que está agregando cosas nuevas ... vs refinando algo).
  • Ágil: eres ágil si valoras las mismas cosas que figuran en el manifiesto ágil . También significa que no hay una plantilla estándar o lista de verificación o procedimiento para "hacer ágil". No se sobreespecifica ... solo indica que puede usar cualquier práctica que necesite para "ser ágil". Scrum, XP, Kanban son algunas de las metodologías ''ágiles'' más preceptivas porque comparten el mismo conjunto de valores. Retroalimentación continua y temprana, lanzamientos / demos frecuentes, diseño de evolución, etc. por lo tanto, pueden ser iterativos e incrementales.