Esta presentación ilustra varios puntos que Scott Ambler padre de este concepto de DAD o Entrega Ágil Disciplinada nos provee. El constante cambio en los ambiente de desarrollo hace que metodologías existentes vayan evolucionado adaptándose también a aquellas empresas que requieren de documentación y estructura y aun así desean ser ágil, esta metodología ofrece esto sin sacrificar ni tiempo ni entrega.
Dad diciplined agil delivery.(DAD), Metodología ágil para empresas Grandes o Medianas.
1. ING. Julissa Mateo
Disciplined Agile Delivery (DAD)
Para un Desarrollo Ágil y Eficaz
Julissa Mateo
Senior Software Analyst
JulissaMMateo@gmail.com
2. 2
Contenido.
Introducción a DAD (Entrega Ágil
Disciplinada )
Metodologías de Desarrollo de Software
¿Qué es Agile?
¿Por qué las prácticas de Ingeniería Ágiles
ayudan al desarrollo de Software?
¿Qué es Lean?
¿Qué es Scrum?
¿Qué es Disciplined Agile Delivery (DAD)
3. 3
Síntomas de un proceso de desarrollo de software deficiente
Descubrimiento tardío de nuevos requerimientos
Usuarios insatisfechos
Errores en el entorno de producción
Errores que re-aparecen en producción
Altos niveles de retrabajo
Entre otros
4. 4
Metodologías de Desarrollo de Software
1970s
• Programación estructurada Jackson (1975)
1980s
• Structured Systems Analysis and Design Methodology (1980)
• Structured Analysis and Design Technique (1980)
• Ingeniería de la información (1981)
1990s
• Rapid application development (1991).
• Programación orientada a objetos (OOP)(90's)
• Scrum (desarrollo), en la última parte de los 90's
• Rational Unified Process (RUP) desde 1999.
2000s
• Extreme Programming(XP) (1999)
• Enterprise Unified Process (EUP) extensiones RUP desde 2002
• Agile Unified Process (AUP) (2005) por Scott Ambler.
• Disciplined Agile Delivery (DAD) (2009)
5. 5
Trabajar
Empíricamente
Reducción de
complejidad
Manejo de
Cambios
Agile
¿Qué es Agile?
Agile impulsa la mejora continua mediante la inspección repetitiva y la adaptación
del proceso de trabajo.
“Agile no es un grupo de
prácticas y herramientas es más
que eso, es una actitud, una
forma de pensar”
Dave Sharrok
6. 6
¿Por qué las prácticas de Ingeniería Ágiles ayudan al Desarrollo
de Software?
“No construyas características que nadie necesita en
estos momentos. No escribas más especificaciones de lo
que puedes codificar. No escribas más código del que
puedes probar. No pruebes más código del se puede
implementar ".
Corey Ladas
Algunas Ideas Ágiles “Radicales”
• Hazlo lo más sencillo posible y no más.
• Requisitos cambiantes son una buena señal.
• La colaboración es fundamental para su éxito, no más desarrollo a solas.
• Prueba con frecuencia y temprano , y mejor aún, “probar primero”.
• Aprende de tus experiencias y evoluciona tus estrategia mientras avanza el proyecto.
• Las partes interesadas tienen una mayor visibilidad en un proyecto ágil y mayores
oportunidades para guiar al equipo .
8. 8
¿Que es Scrum ?
Scrum es un proceso en el que se aplican de manera regular un conjunto de
buenas prácticas para trabajar colaborativamente, en equipo, y obtener el mejor
resultado posible de un proyecto. Estas prácticas se apoyan unas a otras y su
selección tiene origen en un estudio de la manera de trabajar de equipos
altamente productivos.
9. 9
Marco de Trabajo de Scrum
.
1BackLog
Los requisitos se
toman del BackLog
(Pila) priorizado y
descompuestos en
pequeñas
características que
pueden ser
entregados como
software de trabajo
en iteraciones de
desarrollo a corto
plazo, llamado Sprint.
2SprintBackLog
El trabajo se saca del
BackLog y se coloca
en el Sprint Backlog
(Iteración actual)
para completarse en
el sprint por el equipo
de desarrollo.
3Entregable
El resultado de un
Sprint es un
entregable (Release)
que, idealmente,
puede ser liberado
inmediatamente
después de la
aceptación por el
propietario del
producto en la
reunión de revisión
Sprint.
10. 11
Modelo de escalamiento de Metodologías Agiles
Disciplined Agile Delivery con uno o más factores de
escala implementados:
Equipos de gran tamaño.
Distribución Geográfica.
Cumplimientos Regulatorios
Complejidad de dominio
Organización Distribuida
Complejidad Técnica
Complejidad Organizacional
Disciplina Empresarial
Ciclo de Vida guiado por el Valor al Negocio + Riesgo.
Equipos Auto Organizados con un marco de trabajo
apropiado.
Ciclo de Vida “De Entrega Completa”
Ciclo de Vida guiado por el Valor al Negocio.
Equipos Auto Organizados
Foco en la construcción
11. 12
¿Qué es DAD basado en Scrum?
El marco de procesos de Entrega Ágil Disciplinada (DAD) es un enfoque ágil
donde las personas son lo primero, orientado al aprendizaje híbrido, para la
entrega de Soluciones de TI. Tiene un ciclo de vida que considera el valor del
riesgo, es por objetivos, y es consciente de la realidad de la empresa.
Tasas de éxito en proyectos tradicionales de TI, Según
Standish Chaos Reports, 2012
Unified Process (UP)
Extreme
Programming (XP)Harmony
Process
Disciplined Agile
Delivery (DAD)
Lean
Agile
Modeling
Scrum
14. 15
Conceptos Básicos
Iteración
La Iteración es el período en el cual
se lleva a cabo el trabajo en sí
Stories
Una historia de usuario es una
representación de un requisito de
software escrito en una o dos
frases utilizando el lenguaje
común del usuario
coordination meeting(DAD)
Facilita la Colaboración y
Trasferencia de Información
entre el equipo.
¿Qué he Hecho?
¿Qué voy a Hacer?
¿Qué impedimentos?
15. 16
Ciclo de Vida Ágil de DAD basado en Scrum
Concepción Construcción Transición
Identificar,
priorizar y
seleccionar
proyectos
Modelado inicial,
planeación y
organización
Una o mas iteraciones cortas
Consenso con los interesados
Arquitectura aprobada
Muchas iteraciones cortas produciendo una solución potencialmente consumible en cada iteración
Viabilidad del Proyecto (Varias)
Suficientemente funcional
Una o mas iteraciones cortas
Producción lista
Interesados satisfechos
Iteración
Día a
día
Sesión de planificación de la iteración para
seleccionar los elementos de trabajo e
identificar tareas para la iteración actual
Revisión de la iteración y
retrospectiva: Demo para
los interesados,
determinación de la
estrategia de la próxima
iteración y aprendizaje de
las experiencias
Entrega de la
solución a
producción
Operar y dar
soporte a la
solución en
producción
Reunión de
coordinación diaria
Visión Inicial y
financiamiento
Visión Inicial de
la Arquitectura
Requerimientos
iniciales
y Plan de
Release
Elementos
de trabajo
Elementos de trabajo
de Alta Prioridad
Backlog de
la Iteración
Sistema de
Trabajo
Solución de
Trabajo
Financiación
Retroalimentación
Solicitudes de Mejora y
Reporte de Defectos
Tareas
17. 18
Artefactos utilizados en DAD Basado en Scrum.
En el marco de DAD basado en Scrum se han eliminado todos los artefactos que no eran
considerados necesarios.
Product
BackLog
• Propietario – Product Owner (PO)
• El Product BackLog contiene los elementos o requisitos de negocio,
priorizados por el valor relacionado al negocio.
Sprint
Backlog
• Propietario – El Equipo
• El Iteration Backlog contiene historias que no cambiarán durante el
sprint, permitiendo que el equipo se concentre en la entrega de los
stories seleccionados. Fuera de la Pila del Sprint, el PO puede volver
a dar prioridad a las historias, si es necesario.
Burndown
Chart
• Propietario –Team Lead
• El Burndown Chart muesta el trabajo que aún queda por hacer,
permitiendo al Team-Lead gestionar el marco de DAD. Las unidades
utilizadas para el Burndown Chart proporcionan diferentes
informaciones y niveles de granularidad.