Vous êtes sur la page 1sur 28

Desarrollo iterativo e

incremental
Inicio
Fases
Incepcin
Objetivos para el ciclo de vida
Elaboracin
Arquitectura para el ciclo de vida
Construccin
Capacidad operativa inicial
Transferencia
Release del producto terminado
Incepcin criterio: Viabilidad
Identificar y reducir riesgos crticos para la
viabilidad
Ir desde un pequeo subconjunto de
requerimientos, por medio de casos de uso,
hasta una arquitectura candidata
Realizar una estimacin inicial, con lmites
amplios, de trabajo, cronograma costo y calidad
Iniciar el caso de negocios que muestre el valor
del proyecto para la organizacin
Elaboracin criterio: Capacidad para
construir el sistema en un contexto de valor
Identificar y reducir riesgos que impactan en la
construccin del sistema significativamente
Especificar la mayora de los casos de uso
Expandir la arquitectura candidata a partes de
un baseline ejecutable
Preparar un plan detallado para la fase de
construccin
Preparar una estimacin con lmites adecuados
para solicitar cotizaciones
Terminar el caso de uso, el proyecto es valioso
Construccin criterio:
Capacidad de operacin inicial
Una serie de iteraciones dirigidas a
sucesivos incrementos que incluyen builds
A travs de toda la fase la viabilidad del
sistema es siempre evidente en un modo
ejecutable
Transferencia criterio:
Capacidad de operacin final
Modificar el sistema para atender
problemas no identificados en las fases
previas
Corregir defectos
Iteracin: concepto
Mini-proyecto (Mini cascada)
Desarrollo de tareas cumpliendo con un plan y
un criterio de aceptacin
Produce un release (puede o no incluir un build)
Releases iniciales desarrollan solution domain
Releases posteriores desarrollan en modo
incremental customer product
Crea datos para programar nuevas iteraciones
Agrega lessons learned
Plan de proyecto: concepto
Es una sucesin de iteraciones
Cada iteracin genera un costo que debe
compensarse con un agregado de valor
Reduccin de riesgos
Incremento de funcionalidad
Integracin progresiva
Visualizacin del avance del producto
Riesgos: concepto
Risk is inherent in the commitment of present
resources to future expectactions (Drucker)
En trminos de proyecto, riesgo es cualquier
elemento que posee algn grado de
probabilidad para amenazar el xito de un
proyecto
Create a risk-driven approach to the software
process rather than a primarily document-driven
or code-driven process (Barry Bohem)
Mitigar riesgos
Los riesgos se identifican, gestionan y
reducen por medio de iteraciones.
Se eliminan as riesgos inesperados o
ignorados
Riesgos son mapped con casos de uso
Si este es realizado (requerimientos
funcionales y no funcionales) el riesgo es
mitigado
Categoras de riesgos de
ingeniera 1/2
Nuevas tecnologas
Procesos distribuidos sobre mltiples nodes
pueden sufrir problemas de sincronizacin
Arquitectura
Dificultad para integrar nuevos casos de uso
No reconocer que distintos actores utilizan el
mismo caso de uso con interfaces distintas
Categoras de riesgos de
ingeniera 2/2
Insatisfaccin de requerimientos
No identificar los U.C. por su orden de
importancia para el cliente
Evaluar mal el riesgo potencial de un U.C.
No priorizar los U.C. combinando su
importancia y su riesgo potencial
Performance
Falta de experiencias previas en el uso de
componentes adecuados
Riesgos de gestin de proyectos
Falta de personal con experiencia en tareas no
usuales
Implementar nuevas tecnologas
El cronograma propuesto por el cliente no
permite incluir reservas
El cronograma slo puede ser cumplido si
contratistas nuevos entregan subsistemas en
tiempo
El cliente puede no cumplir con revisiones en
tiempos que permitan cumplir el cronograma
Gestionar riesgos 1/2
Riesgos identificados y priorizados, se analiza y
se eligen tcticas para grupos o elementos
Anular
Cambio de plan o de requerimientos
Confinar
Parte pequea del proyecto o sistema
Probar
Se materializan o se retiran
Vigilar
Plan de contingencia
Asesino de proyecto
Gestionar riesgos 2/2
Gestionar exige trabajo, tiempo y costo
Probar, exige construir componentes del
sistema
Vigilar exige elegir un procedimiento, ponerlo
en marcha y realizarlo
Raramente es posible atender a todos los
riesgos al mismo tiempo
Por ello es necesario priorizar las
iteraciones
Iteracin: alcance
Es un workflow, con actividades, workers
y artefactos
Planeamiento
Describe metas, release
Examina riesgos
Selecciona actividades
Realizacin de actividades
Evaluacin y preparacin para release
Regression testing
Iteracin: planeamiento
Para planear cada iteracin se observa
Resultados de iteraciones previas
Casos de uso a incluir
Estado de riesgos que aplican
Ultima versin del conjunto de modelos
Para la prxima iteracin a ejecutar, el plan
debe ser especfico
Para otras iteraciones el plan se detalla a
medida que se producen los releases de las
previas
Iteracin: seleccin de actividades
en cada fase 1/2
Incepcin y elaboracin:
Caso de negocios
Reduccin de riesgos mayores
Captura de requerimientos
Analisis y diseo preliminares
Equipos poco numerosos
Costo menor en el proyecto
Tiempo menor en la duracin del proyecto
Iteracin: seleccin de actividades
en cada fase 2/2
Construccin
Diseo detallado
Implementacin
Testing
Reuso de software al mximo posible
Incremento de personas en el equipo
Costo principal en el proyecto
Tiempo principal en la duracin del proyecto
Planear el proyecto 1/4
Las primeras iteraciones en un proyecto
entregan un conocimiento de: domain
area,problemas, riesgos y solution
domain
Las posteriores resultan en incrementos
sucesivos que construyen el producto
para el cliente
Planear el proyecto 2/4
Exito del proyecto para los planificadores
es que cada iteracin muestre un
progreso del proyecto.
Esto es, no retroceder dos o tres
iteraciones para corregir el modelo, por
causa de algo que se aprende en una
iteracin posterior
Planear el proyecto 3/4
Las iteraciones pueden superponerse
entre s
Por ejemplo el plan de una iteracin puede
iniciarse cuando la anterior est evaluada y
se prepara el release
Esta superposicin debe ser limitada
porque cada iteracin se basa en el
resultado de las anteriores
Planear el proyecto 4/4
En grado considerable la secuencia de las
iteraciones depende de elementos
tcnicos comunes a las ingenieras
La meta ms importante es disear una
secuencia para que las decisiones ms
importantes: nuevas tecnologas, casos de
uso y arquitectura sean hechas al
comienzo del proyecto
Desarrollo incremental
Incremento es la diferencia entre el release
interno de una iteracin y el release interno de
la prxima iteracin
Al fin de una iteracin todos los modelos que
representan el sistema estn en un estado
especfico, al que llamamos baseline
Incremento es la diferencia entre baselines
antes y despus de la iteracin
Los elementos y sus artefactos en un mismo
modelo pueden estar en estados distintos
Gestin de configuraciones
Cada modelo, elemento y artefacto
recorre un ciclo de vida descrito por un
flujo de estados (baseline state)
Iteraciones realizan cambios de un estado
a otro
Es necesario mantener consistentes y
compatibles versiones de todos los
artefactos en las baseline de un proyecto
Milestone: mayores y menores
Decisiones gerenciales (mayores, fase)
Seguir o cancelar
Revisin de cronogramas, costos y
requerimientos
Decisiones tcnicas (menores, iteracin)
Construccin de model artifacts
Incrementos en modelos de requerimientos,
analisis, diseo, implementacin y test
Atencin de riesgos
Evolucin de modelos y fases
Las iteraciones crean y desarrollan los modelos
incremento por incremento
En la fase de incepcin puede ser necesario
desarrollar elementos de todo los modelos,
necesarios para crear un prototipo de la
categora proof of concept
Desarrollo de todos los modelos
Incepcin 10-12%
Elaboracin: 25-30%
Construccin: 95%
Transferencia: 100%
Desarrollo iterativo e
incremental
Terminacin

Vous aimerez peut-être aussi