2. TASA DE ÉXITO DE PROYECTOS
Fuente: Standish Group. 2011 CHAOS report
3. AGENDA
La metodología Ágil
Historia
El Manifiesto
Agilismo y ThoughtWorks (TW)
Prácticas con relación al Producto
Prácticas con relación a la Ingeniería
Seguimiento, gestión y crecimiento
Un equipo típico de TW
4. La historia de
Ágil
Un poco de historia, para alinear nuestro entendimiento de la
filosofía Ágil antes de entrar en en el detalle.
10. El Manifiesto Ágil
- Individuos e interacciones sobre procesos y herramientas
- Software funcionando sobre documentación extensiva
- Colaboración con el cliente sobre negociación contractual
- Respuesta ante el cambio sobre seguir un plan
11. 1. Individuos e interacciones sobre
procesos y herramientas
Las herramientas
deben ser
seleccionadas
para resolver el
problema y no al
revés
Los procesos
deben adaptarse
a la gente y los
objetivos
y no al revés
Procesos y
herramientas son
importantes
Individuos e
interacciones
cercanas lo son
más
12. 2. Software funcionando por sobre
una documentación extensiva
Documento Valor
Documento
Actualizado
$$ $$ $$ $$
$$
13. 3. Colaboración con el cliente por sobre
la negociación de contratos
Los contratos son para reforzar acuerdos
Solo son referenciados cuando alguien no cumple con
sus compromisos
Las especificaciones representan contratos
Las especificaciones creadas tempranamente, son
propensas a cambiar
14. 4. Responder al cambio por
sobre seguir un plan
“Visión sin acción es soñar despierto. Actuar sin una visión es una
pesadilla.”
(Proverbio Japonés)
“Ningún plan sobrevive al contacto con el enemigo.”
(Colin Powell)
La forma Ágil:
❏Obtener una visión clara de los objetivos y las
prioridades
❏Recolectar suficiente información para poder
comenzar
❏Construir algo
❏Mostrárselo al cliente, probarlo con usuarios reales.
Aprender
18. ENTREGA INCREMENTAL/CONTINUA
❏ Desarrollar un sistema a través de ciclos repetidos (iterativo) y
en porciones más pequeñas a la vez (incremental)
❏ Permite al equipo aprovechar lo que se aprendió durante el
desarrollo de las partes o versiones anteriores
❏ Aprendizaje proviene del desarrollo y del uso del sistema
25. Las pruebas automatizadas se escriben antes que el
código
❏ Pone a prueba los objetivos de la historia, no lo
que se hizo
❏ Garantiza:
❏ Cobertura de pruebas
❏ Calidad y confianza en los cambios futuros
TDD (desarrollo orientado a pruebas)
27. PROGRAMACIÓN EN PAREJAS
❏Dos programadores trabajan juntos en una estación
de trabajo
❏Uno de ellos, el conductor, escribe código, mientras
que el otro, el navegador, revisa cada línea de código
❏Los dos programadores cambian los papeles con
frecuencia
34. ● Estimaciones demasiado precisas para cada tarea
● El orden de todas las tareas está predefinido sin siquiera
haber empezado
● Muy difícil de adaptar para responder a los cambios
externos
NIVEL DE CERTEZA
PRECISIÓN y EXACTITUD
❏ La tarea g será terminada después de 5,17 días
❏ ...será un día nublado
❏ … y la temperatura será 25 C
❏ … no hay terremotos en este día
❏ … y esto puede o no ser verdad ;)
El enfoque está en la precisión que justifique las desviaciones del
35. NIVEL DE CERTEZA
PRECISIÓN y EXACTITUD
❏ Un grupo de historias se llevará a cabo en una iteración
❏ El tiempo será refinado de acuerdo a la velocidad real y en
tiempo real, permitiendo correcciones tempranas
❏ El orden de las historias puede cambiar
El enfoque está en el nivel de certeza y en la adaptación
del plan a los datos reales
36
puntos
9
iteracione
s
37. ESTIMACIONES ÁGILES
2 cotopaxis = 4 centímetros 4 cotopaxis = 8 centímetros
¿Qué pasa si después de
un tiempo he impreso el
más pequeño y medí?
4 cotopaxis = ? centímetros
39. GESTIÓN DE ALCANCE
Realidad: El alcance crece !!!
❏ Horizontalmente (nuevas funciones)
❏ Verticalmente (exceso de trabajo en
funciones existentes)
Crecimiento invisible
❏ “Ir y venir” varias veces
42. GESTIÓN DE ALCANCE
❏Comunicación constante
❏Comunicación
❏Más Comunicación
❏Visión clara y alineada de las metas
❏Priorización
❏Negociación constante a medida que se
detectan cambios
❏Herramientas: Burnups, backlog priorizado,
story mapping
51. UN TÍPICO EQUIPO DE
THOUGHTWORKS
No hay una composición de equipo obligatoria. Esto va a cambiar
de un proyecto a otro, pero en general tenemos unas habilidades
específicas en el equipo
52.
53. Resumen
Agile es una metodología de desarrollo de software centrado en mejorar la
calidad, la velocidad y la adherencia a las necesidades de los clientes,
mientras que minimiza el esfuerzo desperdiciado a través de abrazar y
gestionar los cambios
54. GRACIAS
“En la práctica de ser ágil es simplemente un
compromiso óptimo con restricciones ambientales”
(Abraham Kiggundu)
“El que es más capaz de adaptarse es el que va a
sobrevivir”
(Darwin)