Está en la página 1de 2

METODOLOGIA DE DESARROOLO ITERATIVO DE SOFWARE

Metodología de desarrollo iterativo y creciente (o incremental). Es un proceso de desarrollo de


software, creado en respuesta a las debilidades del modelo tradicional de cascada. Para apoyar el
desarrollo de proyectos por medio de este modelo se han creado frameworks (entornos de
trabajo), de los cuales los dos más famosos son el Rational Unified Process y el Dynamic Systems
Development Method.

El desarrollo incremental e iterativo es también una parte esencial de un tipo de programación


conocido como Extreme Programming y los demás frameworks de desarrollo rápido de software.

En un desarrollo iterativo e incremental el proyecto se planifica en diversos bloques temporales


llamados iteraciones.

Las iteraciones se pueden entender como miniproyectos: en todas las iteraciones se repite un
proceso de trabajo similar (de ahí el nombre “iterativo”) para proporcionar un resultado completo
sobre producto final, de manera que el cliente pueda obtener los beneficios del proyecto de forma
incremental. Para ello, cada requisito se debe completar en una única iteración: el equipo debe
realizar todas las tareas necesarias para completarlo (incluuyendo pruebas y documentación) y
que esté preparado para ser entregado al cliente con el mínimo esfuerzo necesario.

En cada iteración el equipo evoluciona el producto (hace una entrega incremental) a partir de los
resultados completados en las iteraciones anteriores, añadiendo nuevos objetivos/requisitos o
mejorando los que ya fueron completados. Un aspecto fundamental para guiar el desarrollo
iterativo e incremental es la priorización de los objetivos/requisitos en función del valor que
aportan al cliente.

CICLO DE VIDA
La idea principal detrás de mejoramiento iterativo es desarrollar un sistema de programas de
manera incremental, permitiéndole al desarrollador sacar ventaja de lo que se ha aprendido a lo
largo del desarrollo anterior, incrementando, versiones entregables del sistema.

Los pasos claves en el proceso son comenzar con una implementación simple de los
requerimientos del sistema, e iterativamente mejorar la secuencia evolutiva de versiones hasta
que el sistema completo este implementado. En cada iteración, se realizan cambios en el diseño y
se agregan nuevas funcionalidades y capacidades al sistema. El proceso en sí mismo consiste en
crear una versión del sistema. La meta de esta etapa es crear un producto con el que el usuario
pueda interactuar, y por ende retroalimentar el proceso.

Ofrecer una muestra de los aspectos claves del problema y proveer una solución lo
suficientemente simple para ser comprendida e implementada fácilmente. Para guiar el proceso
de iteración, una lista de control de proyecto se crea, y esta lista contiene un historial de todas las
tareas que necesitan ser realizadas. Incluye cosas como nuevas funcionalidades para ser
implementadas, y áreas de rediseño de la solución ya existente. Esta lista de control se revisa
periódica y constantemente como resultado de la fase de análisis.

El código puede, en ciertos casos, representar la mayor fuente de documentación del sistema. El
análisis de una iteración se basa en la retroalimentación del usuario y en el análisis de las
funcionalidades disponibles del programa. Involucra el análisis de la estructura, modularidad,
usabilidad, confiabilidad, eficiencia y eficacia.

CARACTERÍSTICAS
- Provee de soporte para determinar la efectividad de los procesos y de la calidad del
producto.
- Permite estudiar y después mejorar y ajustar el proceso para el ambiente en particular.
- El contexto de iteraciones múltiples conlleva ventajas en el uso de mediciones.
- También puede monitorearse el cambio relativo de varios aspectos de un producto o
pueden proveer los límites de las medidas para apuntar a problemas potenciales y
anomalías.

DESVENTAJAS
- Requiere de un cliente involucrado durante todo el curso del proyecto. Hay clientes que
simplemente no estarán dispuestos a invertir el tiempo necesario.
- Infunde responsabilidad en el equipo de desarrollo al trabajar directamente con el cliente,
requiriendo de profesionales sobre el promedio.
- Sufre fuertes penalizaciones en proyectos en los cuales los requerimientos están
previamente definidos, o para proyectos "todo/nada" en los cuales se requiere que se
completen en un 100% el producto para ser implementado (por ejemplo, licitaciones).
Tomado de:

https://www.ecured.cu/Metodolog%C3%ADa_de_desarrollo_iterativo_y_creciente

https://proyectosagiles.org/desarrollo-iterativo-incremental/

También podría gustarte