Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
DESARROLLO ÁGIL
Principios y Prácticas
ABOUT ME
VPoE & Co-Founder Welcu Inc.
Estudiante Ingeniería
Miembro de ∞ comunidades
@sagmor
seba@welcu.com
MOTIVACIÓN
• ¿Cómo lograr que mi equipo haga un buen
trabajo y a la vez lo “pase bien”?
• Hay dos tipos de trabajo
• Repet...
METODOLOGÍAS
TeamworkManagementCycle
Burn down
Charts
Task Board
Scrum Master Role
Daily Scrum
Meeting
Sprint Planning Meeting
SCRUM
AG...
TeamworkManagementCycle
TeamDevelopment
QualityOriented
IncrementalDevelopment
Cycle
Continuous
Integration
Code Standards...
PROPUESTA: LEAN THINKING
• Inspirado en el “Conocimiento
Profundo” y los “14 puntos”
de W. Edwards Deming
Manufactura
• To...
LEAN SOFTWARE DEVELOPMENT
• Mary y Tom Poppendieck,
“Lean Software Development”, 2003
• Define las bases teóricas de las
me...
HIPÓTESIS DE LEAN SOFTWARE
DEVELOPMENT
• Existe un conjunto simple de principios que,
al ser seguidos por un equipo de des...
AUTO-ORGANIZACIÓN
• Pocos principios fundamentales, que apoyan la toma
de decisiones en terreno
• Al compartir los princip...
LA VIDA EMERGE EN EL FILO DEL CAOS
Inflexibilidad Caos
Empoderamiento Alineamiento
+ atribuciones
+ confianza
+ valores
+ pr...
¿CÓMO SE ORGANIZAN LAS HORMIGAS PARA
BUSCAR ALIMENTO?
• ¿Así?
¿CÓMO SE ORGANIZAN LAS HORMIGAS PARA
BUSCAR ALIMENTO?
• Dos reglas simples
• Marcar el camino
• De ida
• De vuelta
• Segui...
PRINCIPIOS Y PRÁCTICAS
• Prácticas Ágiles
• Test Driven Development
• Planning Game,
• Pair Programming,
• etc.
• Ellas se...
Eliminar
Desperdicio
s
Crear
Conocimient
o
Calidad
Intrínseca
Diferir
el
compromiso
(hasta el último
momento
responsable)
...
EJEMPLOS DE APLICACIÓN
DE PRINCIPIOS LEAN
CURVA DE VALOR DE UN PROYECTO
• Si diferimos el compromiso hasta el último momento
responsable, creamos conocimiento y ent...
¿CÓMO TENDRÍAMOS QUE TRAZAR LAS SENDAS
PEATONALES SOBRE EL CÉSPED DE UN CAMPUS?
• ¡No trazar ningún
sendero!
• ¡Al final de...
+ RAPIDO CON LEAN
¿DÓNDE TENDREMOS UN TRÁFICO
PROMEDIO MÁS RÁPIDO?
• ¿En una carretera usada por autos?
Ojo:
En las carreteras los
accidente...
¿DÓNDE TENDREMOS UN TRÁFICO
PROMEDIO MÁS RÁPIDO?
• ¿Una carretera semi-llena de autos?
¿CÓMO SE LLAMA A UN LUGAR
LLENO DE AUTOS?
Un Estacionamiento
EN RESUMEN
TIEMPO DE PROCESO V/S
TAMAÑO DE LOTE V/S % DE OCUPACIÓN
Fuente: Lean Software Development: An Agile
Toolkit,
Ma...
ESTIMANDO EL TAMAÑO ÓPTIMO DEL LOTE
Tamaño óptimo de lote
Costo
Tamaño del lote
Costo de
Mantención
Costo
TotalTamaño
ópti...
TAMAÑO LOTE ÓPTIMO ESTIMADO
=> PRINCIPIO LEAN: “ENTREGAR
• Cada incremento de
tiempo debe generar
valor apreciable para
el...
CÓMO GENERAR LOTES ÓPTIMOS
EN PROYECTOS DE SOFTWARE
• Analizando el problema de negocio para priorizar
• Invertir tiempo d...
EFECTO DE LA MULTITAREA EN LA
PRODUCTIVIDAD
• La productividad decrece
cuando se asignan más de
dos tareas en Trabajo en
C...
¿CUÁNDO SE DEBE CREAR
LA CALIDAD?
• La calidad debe construirse junto con el sistema.
• ¡No se puede agregar como un barni...
BUILT-IN QUALITY
CAPAS DELTESTING EN AGILIDAD
Historia de
usuario
Test de
Aceptación
/ Funcional
/ de
Integración
Component
e
aislado
Test
...
CICLO DE PROGRAMACIÓN ÁGIL
Diseño
Sencillo
Test:
Hazlo
Fallar
Implementar:
Hazlo
Funcionar
Test
Refactorizar
Hazlo mejor
T...
KANBAN
PARA INGENIERÍA DE
SOFTWARE
“AGILE 2.0”
• Herramienta Lean
• aplicada al desarrollo de software
KANBAN
¿EN QUÉ CONSISTE?
• Se disponen en un tablero que
refleja el estado de cada
actividad de trabajo (kanban)
 看板: “Tar...
KANBAN
HERRAMIENTA LIGERA Y VALIOSA
(PRINCIPIO DE EXTREME PROGRAMMING)
• Hace visible claramente el flujo de trabajo
• Resp...
…
Stage 1 DoneStage 2 Stage n…Work Items
Queue
In
Process Queue
In
Process Queue
In
Process
GESTIÓN TRADICIONAL
PUSH SCHED...
…
Stage 1 DoneStage 2 Stage n…Work Items
Queue
In
Process Queue
In
Process Queue
In
Process
PULL SCHEDULING
PARA DE COMENZ...
…
Stage 1 DoneStage 2 Stage n…Work Items
Queue
In
Process Queue
In
Process Queue
In
Process
LIMITANDO LA MULTITAREA (WIP)
...
¿CÓMO APOYA KANBAN LA MEJORA
CONTÍNUA?
STAND-UP MEETINGS
¿CÓMO APOYA KANBAN LA MEJORA CONTINUA?
REFLEXIÓN Y EVOLUCIÓN DEL FLUJO DE TRABAJO
• El equipo puede y debe ir revisando su...
¿CÓMO APOYA KANBAN LA MEJORA CONTINUA?
REFLEXIÓN Y EVOLUCIÓN DEL FLUJO DE TRABAJO
• El equipo puede y debe ir revisando su...
¿CÓMO APOYA KANBAN LA MEJORA CONTINUA?
REFLEXIÓN Y EVOLUCIÓN DEL FLUJO DE TRABAJO
• El equipo puede y debe ir revisando su...
FUNCIONALIDADES VERSUS
ENTREGABLES
Scrum
Tradicional
Kanban con
Iteraciones
Fuente http://www.lostechies.com/blogs/derickb...
ALGUNOS EJEMPLOS DE PRINCIPIOS LEAN
EN KANBAN
• Dar al equipo una visión clara de su avance
• Respetar a las personas
• Re...
APLICANDO LOS
PRINCIPIOS LEAN
• Ejercicios prácticos
APLICANDO LOS PRINCIPIOS
¿CUÁNTO QUEDA?
• Un ingeniero de software un día
lunes evalúa una tarea que no ha
comenzado y det...
APLICANDO LOS PRINCIPIOS
EL CASO DEL CÓDIGO
• Un equipo de desarrollo de 4 personas durante la primera iteración de un pro...
REFERENCIAS
• Mary & Tom Poppendiecks Site
• http://www.poppendieck.com
• Limited WIP Society
• http://www.limitedwipsocie...
AGRADECIMIENTO
AgustínVillena y a la comunidad Chile Ágil por el 99.9% de las slides
PREGUNTAS …
PARA MAS PREGUNTAS:
http://failfast.chileagil.cl
Nächste SlideShare
Wird geladen in …5
×

Desarrollo ágil Webprendedor UC 2010

563 Aufrufe

Veröffentlicht am

Las Slides de mi charla en el taller de desarrollo ágil en Webprendedor UC 2010

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Desarrollo ágil Webprendedor UC 2010

  1. 1. DESARROLLO ÁGIL Principios y Prácticas
  2. 2. ABOUT ME VPoE & Co-Founder Welcu Inc. Estudiante Ingeniería Miembro de ∞ comunidades @sagmor seba@welcu.com
  3. 3. MOTIVACIÓN • ¿Cómo lograr que mi equipo haga un buen trabajo y a la vez lo “pase bien”? • Hay dos tipos de trabajo • Repetir una receta conocida: “manufactura” • Crear un nuevo producto
  4. 4. METODOLOGÍAS
  5. 5. TeamworkManagementCycle Burn down Charts Task Board Scrum Master Role Daily Scrum Meeting Sprint Planning Meeting SCRUM AGILE FRAMEWORK ValueOriented ManagementCycle Release Planning Meeting Release Product Owner Role Development Sprint Retrospective Meeting Scrum Scoreboard Product Backlog Tasks agustin.villena@chileagil.cl
  6. 6. TeamworkManagementCycle TeamDevelopment QualityOriented IncrementalDevelopment Cycle Continuous Integration Code Standards Collective Code Ownership Pair Programming (+ Move people around) Simple Design Refactoring Test Driven Development No Overtime Tracking / Informative Workspace Coaching Stand Up Meeting Iteration Planning EXTREME PROGRAMMING AGILE FRAMEWORK ValueOriented ManagementCycle Planning Game Acceptance Tests Small Releases On Site Customer (One team) Development Definition Validation User Stories Tasks agustin.villena@chileagil.cl
  7. 7. PROPUESTA: LEAN THINKING • Inspirado en el “Conocimiento Profundo” y los “14 puntos” de W. Edwards Deming Manufactura • Toyota Production System Desarrollo Nuevos Productos • Toyota Product Development System
  8. 8. LEAN SOFTWARE DEVELOPMENT • Mary y Tom Poppendieck, “Lean Software Development”, 2003 • Define las bases teóricas de las metodologías ágiles, a partir del lean thinking • Filosofía de gestión inspirada en el Toyota Product Development System
  9. 9. HIPÓTESIS DE LEAN SOFTWARE DEVELOPMENT • Existe un conjunto simple de principios que, al ser seguidos por un equipo de desarrollo de nuevo producto, genera un comportamiento auto-organizado
  10. 10. AUTO-ORGANIZACIÓN • Pocos principios fundamentales, que apoyan la toma de decisiones en terreno • Al compartir los principios, el equipo se auto- organiza • Base para equipos de Alto Rendimiento
  11. 11. LA VIDA EMERGE EN EL FILO DEL CAOS Inflexibilidad Caos Empoderamiento Alineamiento + atribuciones + confianza + valores + principios Filo del Caos Sistemas Adaptativos Complejos
  12. 12. ¿CÓMO SE ORGANIZAN LAS HORMIGAS PARA BUSCAR ALIMENTO? • ¿Así?
  13. 13. ¿CÓMO SE ORGANIZAN LAS HORMIGAS PARA BUSCAR ALIMENTO? • Dos reglas simples • Marcar el camino • De ida • De vuelta • Seguir el camino con más marcas • Reglas simples que inducen un comportamiento auto-organizado
  14. 14. PRINCIPIOS Y PRÁCTICAS • Prácticas Ágiles • Test Driven Development • Planning Game, • Pair Programming, • etc. • Ellas se generan a partir de principios, • sobre las que están basados Principios
  15. 15. Eliminar Desperdicio s Crear Conocimient o Calidad Intrínseca Diferir el compromiso (hasta el último momento responsable) Entregar rápido Respetar a las personas Optimizar el todo PRINCIPIOS DE LEAN SOFTWARE DEVELOPMENT
  16. 16. EJEMPLOS DE APLICACIÓN DE PRINCIPIOS LEAN
  17. 17. CURVA DE VALOR DE UN PROYECTO • Si diferimos el compromiso hasta el último momento responsable, creamos conocimiento y entregamos rápido, la curva de valor/aprendizaje de un proyecto cambiará así
  18. 18. ¿CÓMO TENDRÍAMOS QUE TRAZAR LAS SENDAS PEATONALES SOBRE EL CÉSPED DE UN CAMPUS? • ¡No trazar ningún sendero! • ¡Al final de año las partes más gastadas nos indicarán las sendas a pavimentar! • Principio: • Diferir compromiso hasta el último momento responsable http://sivers.org/walkways http://www.uwyo.edu/tour/ Prexy.asp
  19. 19. + RAPIDO CON LEAN
  20. 20. ¿DÓNDE TENDREMOS UN TRÁFICO PROMEDIO MÁS RÁPIDO? • ¿En una carretera usada por autos? Ojo: En las carreteras los accidentes suelen suceder
  21. 21. ¿DÓNDE TENDREMOS UN TRÁFICO PROMEDIO MÁS RÁPIDO? • ¿Una carretera semi-llena de autos?
  22. 22. ¿CÓMO SE LLAMA A UN LUGAR LLENO DE AUTOS? Un Estacionamiento
  23. 23. EN RESUMEN TIEMPO DE PROCESO V/S TAMAÑO DE LOTE V/S % DE OCUPACIÓN Fuente: Lean Software Development: An Agile Toolkit, Mary y Tom Poppendieck, 2003
  24. 24. ESTIMANDO EL TAMAÑO ÓPTIMO DEL LOTE Tamaño óptimo de lote Costo Tamaño del lote Costo de Mantención Costo TotalTamaño óptimo Costo de Transacción Zona óptima aproximada
  25. 25. TAMAÑO LOTE ÓPTIMO ESTIMADO => PRINCIPIO LEAN: “ENTREGAR • Cada incremento de tiempo debe generar valor apreciable para el cliente • Minimun Marketable Feature • Se opone a la división por actividades del modelo waterfall
  26. 26. CÓMO GENERAR LOTES ÓPTIMOS EN PROYECTOS DE SOFTWARE • Analizando el problema de negocio para priorizar • Invertir tiempo de ingeniería para lograr desacoplamiento y establecer avances incrementales de valor (MMFs) • Y así será más fácil adaptarse a los cambios
  27. 27. EFECTO DE LA MULTITAREA EN LA PRODUCTIVIDAD • La productividad decrece cuando se asignan más de dos tareas en Trabajo en Curso • (WIP: Work In Process) • Productividad entendida como porcentaje del tiempo dedicado a agregar valor • => Debemos limitar la multitarea
  28. 28. ¿CUÁNDO SE DEBE CREAR LA CALIDAD? • La calidad debe construirse junto con el sistema. • ¡No se puede agregar como un barniz final! • Los criterios de calidad funcional los debe definir el cliente mismo • O sino, el ruido que generan los saltos interganizacionales, hace inútil cualquier intento posterior • Esto elimina el tradeoff de calidad versus costos versus eficiencia, de hecho los alinea • A mayor calidad, mayor eficiencia y menor costo Sin definición de criterios de calidad intrínsecos, los problemas se ocultan Con criterios de calidad intrínsecos, los problemas aparecen pronto y se eliminan oportunamente
  29. 29. BUILT-IN QUALITY
  30. 30. CAPAS DELTESTING EN AGILIDAD Historia de usuario Test de Aceptación / Funcional / de Integración Component e aislado Test Unitario
  31. 31. CICLO DE PROGRAMACIÓN ÁGIL Diseño Sencillo Test: Hazlo Fallar Implementar: Hazlo Funcionar Test Refactorizar Hazlo mejor Test
  32. 32. KANBAN PARA INGENIERÍA DE SOFTWARE “AGILE 2.0” • Herramienta Lean • aplicada al desarrollo de software
  33. 33. KANBAN ¿EN QUÉ CONSISTE? • Se disponen en un tablero que refleja el estado de cada actividad de trabajo (kanban)  看板: “Tarjeta Señal” • Se sincroniza el problema de negocio y la capacidad del equipo de desarrollo desarrollo usando Kanban • Cada persona escoge el trabajo a realizar • Responsabilidad asumida, no asignada (Principio de eXtreme Programming) Fuente: http://www.xqa.com.ar/visualmanagement/author/xavier/
  34. 34. KANBAN HERRAMIENTA LIGERA Y VALIOSA (PRINCIPIO DE EXTREME PROGRAMMING) • Hace visible claramente el flujo de trabajo • Responde fácilmente: ¿Dónde estamos? • Enfoca al equipo • Presenta rápidamente cuellos de botella • Es sencilla y barata Cambiar por
  35. 35. … Stage 1 DoneStage 2 Stage n…Work Items Queue In Process Queue In Process Queue In Process GESTIÓN TRADICIONAL PUSH SCHEDULING Fuente: Lean & kanban 101 http://availagility.wordpress.com/2009/06/11/zurich-lean-agile- scrum-slides/
  36. 36. … Stage 1 DoneStage 2 Stage n…Work Items Queue In Process Queue In Process Queue In Process PULL SCHEDULING PARA DE COMENZAR… ¡COMIENZA A TERMINAR! • Vamos realizando la tarea correcta en el momento justo en que tenemos capacidad Fuente: Lean & kanban 101 http://availagility.wordpress.com/2009/06/11/zurich-lean-agile- scrum-slides/
  37. 37. … Stage 1 DoneStage 2 Stage n…Work Items Queue In Process Queue In Process Queue In Process LIMITANDO LA MULTITAREA (WIP) Fuente: Lean & kanban 101 http://availagility.wordpress.com/2009/06/11/zurich-lean-agile- scrum-slides/
  38. 38. ¿CÓMO APOYA KANBAN LA MEJORA CONTÍNUA? STAND-UP MEETINGS
  39. 39. ¿CÓMO APOYA KANBAN LA MEJORA CONTINUA? REFLEXIÓN Y EVOLUCIÓN DEL FLUJO DE TRABAJO • El equipo puede y debe ir revisando su flujo de trabajo En Cola • F3 • F4 En Curso • F2 Listo • F1
  40. 40. ¿CÓMO APOYA KANBAN LA MEJORA CONTINUA? REFLEXIÓN Y EVOLUCIÓN DEL FLUJO DE TRABAJO • El equipo puede y debe ir revisando su flujo de trabajo En Cola • F3 • F4 En Curso • F2 Por Validar Listo • F1
  41. 41. ¿CÓMO APOYA KANBAN LA MEJORA CONTINUA? REFLEXIÓN Y EVOLUCIÓN DEL FLUJO DE TRABAJO • El equipo puede y debe ir revisando su flujo de trabajo Por Estimar Definir Criterio de Aceptación Listo para Desarrollar • F3 • F4 En Curso • F2 Por Validar Listo • F1
  42. 42. FUNCIONALIDADES VERSUS ENTREGABLES Scrum Tradicional Kanban con Iteraciones Fuente http://www.lostechies.com/blogs/derickbailey/archive/2009/08/14/kanban-in-time-boxes-the-cadence-of-wip- and-sprints.aspx
  43. 43. ALGUNOS EJEMPLOS DE PRINCIPIOS LEAN EN KANBAN • Dar al equipo una visión clara de su avance • Respetar a las personas • Revisar y mejorar el flujo de trabajo • Entregar rápido • Optimizar el todo • Crear conocimiento • Calidad intrínseca • Limitar el Trabajo en Curso • Entregar rápido
  44. 44. APLICANDO LOS PRINCIPIOS LEAN • Ejercicios prácticos
  45. 45. APLICANDO LOS PRINCIPIOS ¿CUÁNTO QUEDA? • Un ingeniero de software un día lunes evalúa una tarea que no ha comenzado y determina que el tiempo estimado para terminar es de 20 horas hábiles. El jueves él nos reporta que lleva 16 horas. • ¿Cuál es la mejor manera de saber cuanto queda?
  46. 46. APLICANDO LOS PRINCIPIOS EL CASO DEL CÓDIGO • Un equipo de desarrollo de 4 personas durante la primera iteración de un proyecto realiza un software de 5.000 líneas de código ocupando 480 horas efectivas de desarrollo. • Un accidente hace que se borren los datos del servidor de control de versiones y no existía ninguna copia del código fuente del sistema. • El cliente, que estaba contento con los avances, solicita al equipo que, antes de continuar agregando requerimientos, vuelva a construir el código fuente perdido del sistema, lo que el equipo realiza. • ¿Qué esperarías tú del tamaño en código fuente del sistema y tiempo ocupado en este nuevo intento en comparación con lo obtenido en el intento original? ¿Cómo explicas este fenómeno?
  47. 47. REFERENCIAS • Mary & Tom Poppendiecks Site • http://www.poppendieck.com • Limited WIP Society • http://www.limitedwipsociety.org/ • Kanbandev Yahoo Group • http://finance.groups.yahoo.com/group/kanbandev/ • Lean & Kanban 101 • http://availagility.wordpress.com/2009/06/11/zurich-lean-agile-scrum-slides/ • So, Now You're An Agilist, What's Next? • http://www.slideshare.net/jurgenappelo/so-now-youre-an-agilist-whats- next-10
  48. 48. AGRADECIMIENTO AgustínVillena y a la comunidad Chile Ágil por el 99.9% de las slides
  49. 49. PREGUNTAS …
  50. 50. PARA MAS PREGUNTAS: http://failfast.chileagil.cl

×