Sei sulla pagina 1di 5

DESARROLLO INCREMENTAL

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.

Durante el desarrollo de cada incremento se puede utilizar el modelo de cascada o evolutivo,


dependiendo del conocimiento que se tenga sobre los requisitos a implementar. Si se tiene un
buen conocimiento, se puede optar por cascada, si es dudoso, evolutivo.

Figura 1: Modelo de desarrollo iterativo incremental

Desarrollo iterativo e incremental

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


temporales (en el caso de Scrum de un mes natural o hasta de dos semanas, si así se
necesita) 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 (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.

Entre las ventajas del modelo incremental se encuentran:

 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.

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.

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.

Básicamente este modelo se basa en dos premisas:


 Los usuarios nunca saben bien que es lo que necesitan para satisfacer sus
necesidades.
 En el desarrollo, los procesos tienden a cambiar.

Las distintas etapas y tareas que compondrán la metodología iterativa en el ámbito de la


ejecución del proyecto (o roadmap de implantación), podemos desglosarla en las distintas
etapas y tareas (algunas de ellas son comunes a otras metodologías).

1. Etapa Definición

Se crea 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.

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 :

1. Etapa Definición actores Entregables

Todas las actividades orientadas a reconocer PGP (WBS,


funcionalidades necesarias en el nuevo sistema. Líder proyecto
Diseño funcional del sistema. Modelo del
 Especificaciones y compatibilidad entre Cliente negocio ( l)
requerimientos y funcionalidad del sistema.
 Ampliación al detalle del análisis requerimientos Analista (ing Modelo de
inicial. Levantamiento de requerimientos en detalle requerimientos, análisis ( )
y consolidación con los iniciales. ingeniero de
 Definición procesos objetivo y análisis de posibles casos de uso) (Especificacion
mejoras. Objetivos y procesos a alcanzar. de
Reingeniería de procesos. Diseñador requerimientos,
 Análisis diferencial entre la herramienta y los Criterios de
procesos objetivo (Análisis GAP). Comparación Arquitecto aceptación de
entre la herramienta “tal cual” y los procesos requerimientos,
propuestos. Especificación
 Funcionalidades ajenas al core o disponible de casos de
mediante extensiones o desarrollos. Necesidades uso)
no incorporadas en la herramienta, posibilidad de
inclusión a través de plugins o necesidad de Modelo Diseño
customización. (Arquitectura,
 Diseño interfaces con otras herramientas. Plan de Gestion
Integración entre core de la herramienta con de datos
aplicaciones externas. ( )
 Estrategia migración datos: uso de plantillas
Estudio de los datos del sistema anterior, análisis Lista de control
de equivalencias y grado de compatibilidad con el (Planificacion y
nuevo sistema. Uso de plantillas o asistentes de monitorización)
migración. ( )
 Aprobación diseño funcional.
 Formalización y aceptación de los cambios a
implementar.

2. Etapa de iteración

Esta etapa involucra el rediseño e implementación de una tarea de la lista de control de


proyecto, y el análisis de la versión más reciente del sistema.

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.

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 (alcanzar las metas).

La lista de control del proyecto se modifica bajo la luz de los resultados del análisis.

2. Etapa de iteración actores Entregables


Las guías primarias que guían la implementación y el análisis
incluyen:

 Cualquier dificultad en el diseño, codificación y prueba de Cliente Plan de


una modificación debería apuntar a la necesidad de rediseñar mejoras
o recodificar. Líder
 Las modificaciones deben ajustarse fácilmente a los Proyecto
módulos fáciles de encontrar y a los aislados. Si no es así, Lista de
entonces se requiere algún grado de rediseño. control
 Las modificaciones a las tablas deben ser especialmente
fáciles de realizar. Si dicha modificación no ocurre
rápidamente, se debe aplicar algo de rediseño. Diseñador Plan de
 Las modificaciones deben ser más fáciles de hacer Analista configuración
conforme avanzan las iteraciones. Si no es así, hay un ( )
problema primordial usualmente encontrado en un diseño
débil o en la proliferación excesiva de parches al sistema.
 Los parches normalmente deben permanecer solo por una
o dos iteraciones. Se hacen necesarios para evitar el rediseño
durante una fase de implementación.
 La implementación existente debe ser analizada
frecuentemente para determinar qué tal se ajusta a las metas
del proyecto.
 Las facilidades para analizar el programa deben ser
utilizadas cada vez para ayudar en el análisis de
implementaciones parciales.
 La opinión del usuario debe ser solicitada y analizada para
indicar deficiencias en la implementación referida por él.
3. Etapa prototipado iterativo.
Fase de desarrollo, ajustes, parametrización y customización incremental. Instalación entorno
desarrollo. Preparación entorno desarrollos y/o pruebas.

3. Etapa prototipado iterativo Actores Entregables


Construcción iterativa Modelo de
Diseñador diseño
 Configuración y parametrización módulos y
extensiones Instalación módulos necesarios y Tester Plan de pruebas
extensiones. Configuración y parametrización. (Especificaciones
 Diseño y desarrollo funcionalidad adicional. Cliente de casos de
Desarrollos adicionales al core de la herramienta. pruebas,
Integración sobre el estándar o como customización. Analista ( )
 Adaptación de informes. Ajustes y adaptación
impresos con imagen corporativa y personalizaciones. Plan de mejoras
 Desarrollo interfaces con otras herramientas Entornos (Plan de control
de integración con herramientas ajenas al core. de cambios)
 Realización de pruebas y feedback con implantador
y/o fabricante. Pruebas unitarias y retroalimentación con
implantadores y/o desarrolladores. Vuelta al principio y Plan de
nueva iteración hasta su validación. configuración
 Instalación entorno de producción. Instalación
modificaciones en entorno de producción de aquellos
desarrollos validados. Implantación
 Diseño, desarrollo y adaptación procesos migración de (manual del
datos. Ajustes y adaptación de las plantillas y procesos sistema,
para la migración de datos. despliegue)
( )
 Validación por parte del cliente. Vuelta al principio y
nueva iteración.

4.- Etapa preparación final

Etapa definitiva para la puesta en producción del nuevo sistema.

4.- Etapa preparación final Actores Entregables

 Preparación entornos de prueba y producción. Reajustes


de ambos entornos para la fase de despliegue final. Usuario final Plan de
 Certificación del sistema y su integración con otras pruebas
herramientas. Pruebas de integración entre todos los Arquitecto
módulos, extensiones y desarrollos adicionales. Plan de
 Pruebas de rendimiento. Garantización del rendimiento y Tester implantación
la productividad del entorno de producción.
 Plan de formación y comunicación: generación Líder Kit pruebas
documentación. Despliegue documentación operacional de proyecto (unitaria,
los flujos de trabajo y comunicación operaciones. integración,
 Migración de datos. Migración definitiva de los datos. aceptación)
 Configuración de seguridad. Perfilado de los usuarios,
roles y niveles de seguridad. Manual
 Aceptación del sistema. Validación y aceptación del usuario
proyecto. ( )

Manual de
sistemas
( )
5. Etapa Go live & Support.

En esta etapa se pone en marcha y se da soporte al sistema

5. Fase Go live & Support Actores Entregables

 Puesta en producción del sistema. Arranque del nuevo


sistema (normalmente cierre del anterior a modo solo Analista Plan de
consulta). mejoras
 Corrección de incidencias. Detección y corrección de Diseñador (Ficha de
incidencias o nuevas casuísticas no detectadas en fases Desarrollador mantenimiento
previas. Tester
 Soporte a usuarios en operativa diaria. Apoyo consultores Gestión de
en los primeros días del arranque para resolver nuevas Administrador configuración
dudas o errores no localizados. Proyecto
 Activación contrato soporte, mantenimiento y cierre del Plan y kit de
proyecto. Todo el soporte adicional operativo y funcional capacitador pruebas de
adicional. Entrada en modo mantenimiento (por ejemplo 6 regresión
meses después).
 Labores de mantenimiento y actualización del sistema. Plan de
Actualizaciones del sistema QA capacitación
 Sistema de pruebas paralelo al entorno de producción. ( )
Entorno réplica del entorno de producción para la
realización de pruebas en paralelo de ciertos procesos Plan de
críticos o no explorados. mejoras

Potrebbero piacerti anche