Beruflich Dokumente
Kultur Dokumente
Mills [9] sugirió el enfoque incremental de desarrollo como una forma de reducir la repetición
del trabajo en el proceso de desarrollo y dar oportunidad de retrasar la toma de decisiones en
los requisitos hasta adquirir experiencia con el sistema (ver Figura 1). Es una combinación del
Modelo de Cascada y Modelo Evolutivo.
Reduce el rehacer trabajo durante el proceso de desarrollo y da oportunidad para retrasar las
decisiones hasta tener experiencia en el sistema.
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 (incluyendo pruebas y documentación) y que esté
preparado para ser entregado al cliente con el mínimo esfuerzo necesario. De esta manera no
se deja para el final del proyecto ninguna actividad arriesgada relacionada con la entrega de
requisitos.
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.
Los clientes no esperan hasta el fin del desarrollo para utilizar el sistema. Pueden
empezar a usarlo desde el primer incremento.
Los clientes pueden aclarar los requisitos que no tengan claros conforme ven las
entregas del sistema.
Se disminuye el riesgo de fracaso de todo el proyecto, ya que se puede distribuir en cada
incremento.
Las partes más importantes del sistema son entregadas primero, por lo cual se realizan
más pruebas en estos módulos y se disminuye el riesgo de fallos.
Algunas de las desventajas identificadas para este modelo son:
Cada incremento debe ser pequeño para limitar el riesgo (menos de 20.000 líneas).
Cada incremento debe aumentar la funcionalidad.
El aprendizaje viene de dos vertientes: el desarrollo del sistema, y su uso (mientras sea
posible). 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 esté implementado. En cada iteración, se realizan cambios en el
diseño y se agregan nuevas funcionalidades y capacidades al sistema.
1. Etapa Definición
La meta de esta etapa es crear un producto con el que el usuario pueda interactuar, y por ende
retroalimentar el proceso.
Debe 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 se crea una lista de control de proyecto, que contiene un
historial de todas las tareas que necesitan ser realizadas. Incluye cosas como nuevas
funcionalidades para ser implementadas, y areas 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.
Planificación :
2. Etapa de iteración
La meta del diseño e implementación de cualquier iteración es ser simple, directa y modular,
para poder soportar el rediseño de la etapa o como una tarea añadida a la lista de control de
proyecto.
El código puede, en ciertos casos, representar la mayor fuente de documentación del sistema.
La lista de control del proyecto se modifica bajo la luz de los resultados del análisis.
Manual de
sistemas
( )
5. Etapa Go live & Support.