Propuesto por Mills en 1980. 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 . Surge porque en
los primeros desarrollos se podía esperar largo tiempo hasta que el software
estuviese listo. Las reglas del negocio de hoy no lo permiten.
Los evolutivos son modelos iterativos, permiten
desarrollar versiones cada vez más completas y complejas, hasta llegar al
objetivo final deseado; incluso evolucionar más allá, durante la fase de
operación. Los
modelos “Iterativo Incremental” y “Espiral” (entre otros) son dos de los más
conocidos y utilizados del tipo evolutivo.
La idea detrás de este modelo es el desarrollo de
una implantación del sistema inicial, exponerla a los comentarios del usuario,
refinarla en N versiones hasta que se desarrolle el sistema adecuado. Una ventaja de este modelo es que se obtiene una rápida realimentación
del usuario, ya que las actividades de especificación, desarrollo y pruebas se
ejecutan en cada iteración.
Desarrollo evolutivo. Este enfoque entrelaza las actividades de
especificación, desarrollo y validación. Un sistema inicial se desarrolla
rápidamente a partir de especificaciones abstractas. Éste se refina basándose
en las peticiones del cliente para producir un sistema que satisfaga sus
necesidades.
El desarrollo
evolutivo consta del desarrollo de una versión inicial que luego de exponerse
se va refinando de acuerdo de los comentarios o nuevos requerimientos por parte
del cliente o del usuario final.
Las fases de especificación, desarrollo y
validación se entrelazan en vez de separarse.
Existen dos tipos
de desarrollo evolutivo:
- Desarrollo
exploratorio, donde el objetivo del proceso es trabajar con el cliente
para explorar sus requerimientos y entregar un sistema final. El desarrollo
empieza con las partes del sistema que se comprenden mejor. El sistema
evoluciona agregando nuevos atributos propuestos por el cliente.
- Prototipos
desechables, donde el objetivo
del proceso de desarrollo evolutivo es comprender los requerimientos del
cliente y entonces desarrollar una definición mejorada de los requerimientos
para el sistema. El prototipo se centra en experimentar con los requerimientos
del cliente que no se comprenden del todo.
Propuesto por Mills en 1980. 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 . Surge porque en
los primeros desarrollos se podía esperar largo tiempo hasta que el software
estuviese listo. Las reglas del negocio de hoy no lo permiten.
Los evolutivos son modelos iterativos, permiten
desarrollar versiones cada vez más completas y complejas, hasta llegar al
objetivo final deseado; incluso evolucionar más allá, durante la fase de
operación. Los
modelos “Iterativo Incremental” y “Espiral” (entre otros) son dos de los más
conocidos y utilizados del tipo evolutivo.
La idea detrás de este modelo es el desarrollo de
una implantación del sistema inicial, exponerla a los comentarios del usuario,
refinarla en N versiones hasta que se desarrolle el sistema adecuado. Una ventaja de este modelo es que se obtiene una rápida realimentación
del usuario, ya que las actividades de especificación, desarrollo y pruebas se
ejecutan en cada iteración.
Desarrollo evolutivo. Este enfoque entrelaza las actividades de
especificación, desarrollo y validación. Un sistema inicial se desarrolla
rápidamente a partir de especificaciones abstractas. Éste se refina basándose
en las peticiones del cliente para producir un sistema que satisfaga sus
necesidades.
El desarrollo
evolutivo consta del desarrollo de una versión inicial que luego de exponerse
se va refinando de acuerdo de los comentarios o nuevos requerimientos por parte
del cliente o del usuario final.
Las fases de especificación, desarrollo y validación se entrelazan en vez de separarse.
Las fases de especificación, desarrollo y validación se entrelazan en vez de separarse.
Existen dos tipos
de desarrollo evolutivo:
- Desarrollo exploratorio, donde el objetivo del proceso es trabajar con el cliente para explorar sus requerimientos y entregar un sistema final. El desarrollo empieza con las partes del sistema que se comprenden mejor. El sistema evoluciona agregando nuevos atributos propuestos por el cliente.
- Prototipos desechables, donde el objetivo del proceso de desarrollo evolutivo es comprender los requerimientos del cliente y entonces desarrollar una definición mejorada de los requerimientos para el sistema. El prototipo se centra en experimentar con los requerimientos del cliente que no se comprenden del todo.
Ventajas
- La especificación puede desarrollarse de forma creciente.
- Los usuarios y los desarrolladores logran un mejor entendimiento del sistema. Esto se refleja en una mejora de la calidad del software.
- Es más efectivo que el modelo de cascada, ya que cumple con las necesidades inmediatas del cliente.
- Hay que implicar a los usuarios.
- La especificación puede desarrollarse de forma creciente.
- Los usuarios y los desarrolladores logran un mejor entendimiento del sistema. Esto se refleja en una mejora de la calidad del software.
- Es más efectivo que el modelo de cascada, ya que cumple con las necesidades inmediatas del cliente.
- Hay que implicar a los usuarios.
Desventajas
- Es difícil predecir el coste y la duración de un proyecto, por lo que es conveniente limitar el número de fases, recursos y plazos si es un proyecto con principio y fin.
- Puede resultar costoso si hay que reiniciar el desarrollo.
- Hay que mantener muy bien la documentación del proyecto para facilitar el control de versiones y su mantenimiento.
- para el rápido desarrollo se necesitan herramientas que pueden ser incompatibles con otras o que poca gente sabe utilizar.
No hay comentarios:
Publicar un comentario