Este documento presenta los principios y marco conceptual detrás del desarrollo ágil de software. Brevemente describe los problemas comunes en proyectos de software tradicionales, como exceder presupuestos y plazos. Luego introduce el Manifiesto Ágil y sus cuatro valores fundamentales: individuos e interacciones, software funcionando, colaboración con el cliente, y respuesta ante el cambio. Finalmente, resume algunos de los principios ágiles como entregas frecuentes, trabajo en equipo interdisciplinario, y adaptación continua.
6. El Problema
▪ Codename: Statewide Automated Child Welfare Information System
– Equipo: Florida
– Comienza: 1990
– Estimaciones: 8 años => $32 millones
– Comienza: 2002
– Estimaciones: 12 años => $ 170 millones
– Comienza: 2005
– Estimaciones: 15 años => $230 millones
FAIL
7. El Problema
▪ Codename: Statewide Automated Child Welfare Information System
– Equipo: Minnesota
– Comienza: 1999
– Estimaciones: 1 año => $1.1 millones
200:1 Diferencia
8. Paso 1: Reconoces el Problema
–24% proyectos fallidos
–44% proyectos con problemas
–68% PROBLEMATICOS
Fuente: Standish Group CHAOS Report 2009
9. Bastard Circle From Hell (BCFH)
Baja Productividad
Retrasos Apuros
Mala Calidad
ErroresInterrupciones
Cliente
Insatisfecho
Reduccion
Beneficios
Costos extra
Desmotivacion
Falta competencias
Presion
10. Agile Manifesto
Kent Beck
Mike Beedle
Arie van Bennekum
Alistair Cockburn
Ward Cunningham
Martin Fowler
James Grenning
Jim Highsmith
2001, Snowbird (UT)
Andrew Hunt
Ron Jeffries
Jon Kern
Brian Marick
Robert C. Martin
Steve Mellor
Ken Schwaber
Jeff Sutherland
DaveThomas
11. Agile Manifesto
Kent Beck
Mike Beedle
Arie van Bennekum
Alistair Cockburn
Ward Cunningham
Martin Fowler
James Grenning
Jim Highsmith
2001, Snowbird (UT)
Creador XP
TDD
SW Design Patterns
Smalltalk
JUnit
12. Agile Manifesto
Kent Beck
Mike Beedle
Arie van Bennekum
Alistair Cockburn
Ward Cunningham
Martin Fowler
James Grenning
Jim Highsmith
2001, Snowbird (UT)
User Case
Crystal Family
13. Agile Manifesto 2001, Snowbird (UT)
Andrew Hunt
Ron Jeffries
Jon Kern
Brian Marick
Robert C. Martin
Steve Mellor
Ken Schwaber
Jeff Sutherland
DaveThomas
Scrum (1995)
Scrum Guide
Agile Alliance
14. Agile Manifesto 2001, Snowbird (UT)
Andrew Hunt
Ron Jeffries
Jon Kern
Brian Marick
Robert C. Martin
Steve Mellor
Ken Schwaber
Jeff Sutherland
DaveThomas
Pragmatic Programmer (1999)
Programming Ruby (2000)
15. Agile Manifesto 2001, Snowbird (UT)
Andrew Hunt
Ron Jeffries
Jon Kern
Brian Marick
Robert C. Martin
Steve Mellor
Ken Schwaber
Jeff Sutherland
DaveThomas
Craft of SWTesting (1995)
Context-DrivenTesting
16. Agile Manifesto 2001, Snowbird (UT)
“We are uncovering better ways of developing software by
doing it and helping others do it.
Through this work we have come to value:
“Estamos descubriendo mejores maneras de desarrollar
software haciendo software y ayudando a otros a hacerlo.
A traves de este trabajo hemos llegado a valorar:
23. Agile Manifesto Principios
Satisfacer al cliente mediante entregas tempranas y continuas
de SW con valor
Aceptar el cambio de requisitos, incluso en etapas tardias del
desarrollo. Esto aporta ventaja competitiva.
Entregamos SW functional frecuentemente, de 2 a 4 semanas
prefiriendo siempre el periodo mas corto.
Los responsables del negocio y el equipo trabajan juntos de
forma cotidiana durante todo el proyecto.
24. Agile Manifesto Principios
Los proyectos se desarrollan en torno a individuos motivados.
Hay que darles el entorno y el apoyo que necesitan, y
confiarles la ejecucion del trabajo.
El metodo mas eficiente y efectivo de comunicar informacion
al equipo y entre sus miembros es la conversacion cara a cara.
El SW funcionando es la medida principal de progreso.
Los procesos agiles promueven el desarrollo sostenible. Los
promotores, desarrolladores y usuarios debemos ser capaces
de mantener un ritmo constant de forma indefinida.
25. Agile Manifesto Principios
La atencion continua a la excelencia tecnica y al buen diseño
mejora la agilidad.
La simplicidad, o el arte de maximizer la cantidad de trabajo no
realizado, es esencial.
Las mejores arquitecturas, requisites y diseños emergen de
equipos auto-organizados.
A intervalos regulares el equipo reflexiona sobre como ser mas
efectivo para a continuacion ajustar y perfeccionar su
comportamiento en consecuencia.
26. Mitos del Agile Development
Cuentos chinos, verso, sanata y falsas verdades…
27. Mitos del Agile Development
▪ Las metodologías agiles no controlan el alcance
▪ Los proyectos agiles son dificiles de manejar
▪ Los proyectos agiles no escalan
▪ Los procesos agiles son solo para programadores
▪ La agilidad es una “bala de plata”
▪ Ser agil es ser informal
▪ El agilismo no planifica
28. Leyes del Agilismo
Ley de Parkinson
“Las necesidades se expanden para ocupar todos los
recursos disponibles”
Ley de Hosftadter
“Una tarea siempre dura más que de lo que esperas,
incluso teniendo en cuenta la ley Hosftadter”
Corolario: “Eres incapaz de estimar, asumelo”
29. Leyes del Agilismo
Ley de Pareto
“Para numerosos fenomenos el 20% de las
causas probocan el 80% de los efectos”
31. Leyes del Agilismo
Ley de Brooks
“Añadir más personas a un proyecto
retrasado solo lo retrasa más”
32. Ley de Ziv
“El desarrollo del
software es
impredicible y los
requisitos nunca
serán
completamente
comprendidos”
Leyes del Agilismo
33. Leyes de Lehman
▪ “Cambio continuo: Un sistema debe ser continuamente
adaptado o será cada vez menos satisfactorio para sus
usuarios”
▪ “Complejidad creciente: La complejidad de un sistema
crece salvo que se trabaje para tratar de reducirla”
▪ “Por cada 25% de incremento de complejidad en el
problema se produce un 100% de complejidad en la
solución”
▪ - Robert L. Glass
Leyes del Agilismo
34. ▪ “Los clientes prefieren las malas noticias a las sorpresas”
Leyes del Agilismo