79
¿Cómo lograr una mejora continua con desarrollo ágil?

Como lograr mejora con agile dev

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Como lograr mejora con agile dev

¿Cómo lograr una mejora continua con desarrollo ágil?

Page 2: Como lograr mejora con agile dev

Luis Mulato

Agile Coach + Mentor

CSM, CSD

Arquitecto de Software + Agile ALM

Miembro fundador Agiles Colombia

Ing. Sistemas

MSc. Construcción de Software

12 años de experimentación

Page 3: Como lograr mejora con agile dev

Agenda

• Motivación• El Problema• Realidad y Ficción• Agilismos• ¿Por donde empezar?• Mejora continua• Grado de agilidad • Como podemos mejorar?• Conclusiones

Page 4: Como lograr mejora con agile dev

Agradecimientos

Page 5: Como lograr mejora con agile dev

Porqu é hacemos lo que hacemos?

Page 6: Como lograr mejora con agile dev

Escenario

Una empresa de software que desea mejorar sus procesos de construcción, para:

• Aumentar la satisfacción de sus ¿clientes?.• Aumentar los ingresos de la compañía.• Mejorar la calidad de vida de sus

colaboradores y su entorno.

Page 7: Como lograr mejora con agile dev

El Problema

Cómo lograr resultados exitosos en los proyectos?

Page 8: Como lograr mejora con agile dev

Resultados exitosos?

http://www.flickr.com/photos/laughingsquid/219575939/

Process Followers

Page 9: Como lograr mejora con agile dev

http://www.flickr.com/photos/jon_a_ross/2322204082/

Resultados exitosos?

Documentación?

Page 10: Como lograr mejora con agile dev

http://www.flickr.com/photos/tobysimkin/5579502628/

Resultados exitosos?

Artefactos?

Page 11: Como lograr mejora con agile dev

http://www.flickr.com/photos/touring_club/5114191820/

Resultados exitosos?

Testing ?

Page 12: Como lograr mejora con agile dev

http://www.flickr.com/photos/archiemcphee/7168365016/

Resultados exitosos?

Budget

Page 13: Como lograr mejora con agile dev

http://www.flickr.com/photos/brraveheart/114402291/

Resultados exitosos?

Scope

Page 14: Como lograr mejora con agile dev

http://www.flickr.com/photos/fabely_67/840632923/

Resultados exitosos?

Change Management

Page 15: Como lograr mejora con agile dev
Page 16: Como lograr mejora con agile dev

EXITO!

Lograr el mayor impacto positivo de la solución en el usuario!

Page 17: Como lograr mejora con agile dev

Realidad y Ficción

Supuestos:• Los equipos son expertos (junior vs senior).• Las curvas de aprendizaje son

despreciables.• El cliente entienden el problema.• El cliente/equipo ya analizó el problema.• Conocemos la tecnología.• El proceso funciona, salirse de él es un

riesgo no contemplado.

Page 18: Como lograr mejora con agile dev

Realidad y Ficción

Dilema:

Complejidad esencial

vs

Complejidad accidental.

Fuente: No hay balas de plata, Brooks

Page 19: Como lograr mejora con agile dev

¿Por donde empezar?

Táctica y Estrategia

• Estrategia es la mejor elección de batallas que decidimos en pos de ganar la guerra.

• Táctica es la mejor manera que encontramos de ganar una batalla.

Fuente: El espiritú de Scrum / Alan Cyment

Page 20: Como lograr mejora con agile dev

¿Por donde empezar?

Táctica y Estrategia• En términos de un proyecto:o La estrategia estará dada por qué

características tendrá el producto . (Solución del Problema / Meta)

o y la táctica por cómo se desarrollarán dichas características . (Construcción de la funcionalidad)

Fuente: El espiritú de Scrum / Alan Cyment

Page 21: Como lograr mejora con agile dev

¿Por donde empezar?

Estrategia:1. ¿Cual es la necesidad?

o Definición del problema.

2. ¿Cual es la meta?o Cómo saber cuando se resuelve el problema?o Referencia para medir el avance en un intervalo de

tiempo.o Evaluar si las estrategias planteadas y la intensidad

del esfuerzo, son los correctos.o Permite plantear un nuevo objetivo que sea factible

a a partir del último objetivo logrado.

Page 22: Como lograr mejora con agile dev

¿Por donde empezar?

Estrategia:

3. Priorización de objetivos?o (Software) Cuales funcionalidades maximizan el

ROI en el tiempo?� Iteración 1� Iteración 2� Iteración N

Page 23: Como lograr mejora con agile dev

¿Por donde empezar?

Táctica:1. ¿Donde estamos?2. ¿Cómo podemos mejorar?

Page 24: Como lograr mejora con agile dev

Agilismos: Que es ser Ágil?

El Agilismo ó desarrollo de software ágil es un movimiento que busca favorecer un cambio de mentalidad en el sector del desarrollo de software, basado fundamentalmente en los

valores y principios que emanan del Manifiesto Ágil.

Page 25: Como lograr mejora con agile dev

Agilismos: Manifiesto Ágil

Page 26: Como lograr mejora con agile dev

Agilismos: Metodos y Frameworks

Valores + Principios

Page 27: Como lograr mejora con agile dev

Agilismos: Principios y Valores

Page 28: Como lograr mejora con agile dev

Métodos Ágiles

• Métodos empíricos• Basados en la experiencia• Mediciones livianas• Inspeccionar / Adaptar

Page 29: Como lograr mejora con agile dev

Agilismos: Scrum

The Essence of Agile / Henrik Kniberhttp://bit.ly/HwnP7e

Page 30: Como lograr mejora con agile dev

Artefactos:• Product Backlog

o Product Backlog Item (PBI) - Historias� Sprint Task� Sprint Task

• Release Backlogo Backlog comprometido para una liberación

• Sprint Backlogo Backlog comprometido para un Sprint

• Epic: PBIs Grandeso Se descompone en Historias (horizontalmente)

• DoD: Definición de terminado

Agilismos: Scrum

Scrum Refcardzhttp://bit.ly/N0PFM8

Page 31: Como lograr mejora con agile dev

•• Product/Release

Burndown Chart

Artefactos:• Sprint Burndown

Agilismos: Scrum

Scrum Refcardzhttp://bit.ly/N0PFM8

Page 32: Como lograr mejora con agile dev

Ceremonias:• Sprint Planning Meeting

o Parte 1: Sprint Backlog: PO + Team Planning + SMo Parte 2: SprintTask: Team + SM + PO*

• Daily Meeting• Sprint Review (Demo)• Sprint Retrospective• Backlog Refinement Meeting

o Backlog Gooming

Estimación previa de los PBI al siguiente Sprint Planning

Agilismos: Scrum

Scrum Refcardzhttp://bit.ly/N0PFM8

Page 33: Como lograr mejora con agile dev

Estrategia y Táctica en Scrum• Sprint 0:

o Generar el Product Backlog priorizado (Estratégico)o Acordar los sprints a ejecutar

o Definir el ambiente de desarrollo

• Sprint (Ciclo estratégico)� Sprint Planning

• Planificación estratégica, incluye al PO

• Planificación táctica

o Detalle de historias: tareas

o No es necesario incluir 100% al PO

� Reunión diaria (Táctico)� Revisión (Demo, Review) (Estratégico)

� Retrospectiva (Táctico)

� [Refinamiento del Backlog (Estratégico)]

Page 34: Como lograr mejora con agile dev

Resultados de un PROYECTO:• Producto:

o El producto es un concepto en constante movimiento. Su origen inicial NO! (Problema).

• Proceso:o El proceso es una dinámica de trabajo en

constante construcción y refinamiento para un contexto específico.

Hipótesis

Page 35: Como lograr mejora con agile dev

Mejoramiento continuo

1. ¿Grado de adopción Ágil (Inspeccionar)

1. ¿Cómo podemos mejorar? (Adaptar)

Page 36: Como lograr mejora con agile dev

Mejoramiento continuo

1. Grado de adopción Ágil (Inspeccionar)o Scrum Check-listo Agile Assessment

Fuente: Las 4 capas / Raul Uribehttp://www.bizzit.es/blog/wp-content/uploads/2009/09/las4capas.pdf

Page 37: Como lograr mejora con agile dev

Scrum Check -list

Fuente: Scrum Checklist / Henrik Kniberhttp://www.crisp.se/gratis-material-och-guider/scrum-checklist

Page 38: Como lograr mejora con agile dev

Scrum Check -list - Core

Fuente: Scrum Checklist / Henrik Kniberhttp://www.crisp.se/gratis-material-och-guider/scrum-checklist

Page 39: Como lograr mejora con agile dev

Scrum Check -list - Core

Fuente: Scrum Checklist / Henrik Kniberhttp://www.crisp.se/gratis-material-och-guider/scrum-checklist

Page 40: Como lograr mejora con agile dev

Scrum Check -list - Core

Fuente: Scrum Checklist / Henrik Kniberhttp://www.crisp.se/gratis-material-och-guider/scrum-checklist

Page 41: Como lograr mejora con agile dev

Agile Assessment

• Self and Peer Assessments: Agile Skills

AgileSkillsProject.orghttp://www.agileskillsproject.org/skill-levels/charts

Page 42: Como lograr mejora con agile dev

Self and Peer Assessments: Agile Skills

AgileSkillsProject.orghttp://www.agileskillsproject.org/skill-levels/charts

Page 43: Como lograr mejora con agile dev

Agile Assessment

• Self and Peer Assessments:

o Excelencia Técnicao Cultura del Apoyoo Confianzao Auto-Mejoramientoo Colaboracióno Valor de negocioo Producto

AgileSkillsProject.orghttp://www.agileskillsproject.org/skill-levels/charts

Page 44: Como lograr mejora con agile dev

Self and Peer Assessments: Agile Skills

AgileSkillsProject.orghttp://www.agileskillsproject.org/skill-levels/charts

Page 45: Como lograr mejora con agile dev

Mejoramiento continuo

1. ¿Grado de adopción Ágil (Inspeccionar)

1. ¿Cómo podemos mejorar? (Adaptar)

Page 46: Como lograr mejora con agile dev

¿Cómo podemos mejorar? (Adaptar)

• Reglas simples - Metas claras• Posiciones, No Roles• Técnicas de Retrospectiva• Entrenar: Coding Dojos • Pedir Ayuda: Agile Coaching

Page 47: Como lograr mejora con agile dev

Reglas simples - Metas claras

• Cualquiera puede aprender las reglas del juego.• La sofisticación viene de la estrategia y la

táctica usadas por jugadores hábiles y coaches.

Fuente: Us and Then / Jeff Pattonhttp://bit.ly/patton_us_them

Page 48: Como lograr mejora con agile dev

Reglas simples - Metas claras

• Todos sabemos qué significa ganar el juego.• Jugar bien en nuestra posición mientras el

equipo pierde no es considerado éxito .

Fuente: Us and Then / Jeff Pattonhttp://bit.ly/patton_us_them

Page 49: Como lograr mejora con agile dev

Posiciones, no roles

Los jugadores en un equipo generan gran especialización pero mantienen habilidades generales para jugar muchas posiciones.

Fuente: Us and Then / Jeff Pattonhttp://bit.ly/patton_us_them

Page 50: Como lograr mejora con agile dev

Técnicas de Retrospectiva

• Retrospectivas• Mad/Sad/Glad• Keep/Fix/Try• Retrospectiva StarFish • Backlog de Mejoras• Backlog de Mejoras Extendido• 4 Capas• Matriz de Retrospectivas

Page 51: Como lograr mejora con agile dev

En busca de la mejora continua de la calidad del producto y la productividad del equipo, éste analiza cómo ha sido su desempeño en el Sprint. En esta actividad se identifica:

• Que cosas han funcionado bien?

• Cuales hay que mejorar?

• Que se quiere probar en el siguiente Sprint?

• Que se aprendió al final del Sprint actual?

• Cuales problemas se identifican como impedimientos?

Retrospectivas

Retrospectiva / Proyectos Agileshttp://www.proyectosagiles.org/retrospectiva-sprint-retrospective

Page 52: Como lograr mejora con agile dev

Retrospectiva

• Duración: 1h -3h

• Beneficios:

o Incrementa la productividad en el proyecto, la calidad del producto

o Potencia el aprendizaje del equipo de manerasistemática , iteración a iteración, con resultados a corto plazo .

o Aumenta la motivación del equipo dado que participa en la mejora de proceso.

• Restricciones:o Es necesario que el Equipo y el Facilitador dispongan

de autoridad, mecanismos y recursos para ir mejorando su forma de trabajar y el contexto del proyecto.

Retrospectiva / Proyectos Agileshttp://www.proyectosagiles.org/retrospectiva-sprint-retrospective

Page 53: Como lograr mejora con agile dev

Retrospectivas

Agile Retrospectives: Making GoodTeams Great!

Fuente: Esther Derby & Diana LarsenResumen: http://softwareagil.blogspot.com/2008/12/tcnicas-para-retrospectivas-resumen-del.html

Page 54: Como lograr mejora con agile dev

Mad/Sad/Glad

Sprint Retrospective Techniqueshttp://waynedgrant.wordpress.com/2012/04/01/sprint-retrospective-techniques/

Page 55: Como lograr mejora con agile dev

El Bote

Sprint Retrospective Techniqueshttp://waynedgrant.wordpress.com/2012/04/01/sprint-retrospective-techniques/

Page 56: Como lograr mejora con agile dev

Retrospectiva StarFish

Retrospectiva StarFish / Gustavo Velizhttp://bit.ly/LUYffH

Page 57: Como lograr mejora con agile dev

Siguiente paso...

Definir:• Qué?• Quien?• Cuando?

Page 58: Como lograr mejora con agile dev

Malos Olores

• Reportes a gerencia• Retrospectivas offline (vía email)• Pocos participantes• Todo el mundo está feliz• Juego de la culpa• Nadie habla sobre el elefante• Se hace en el salón del equipo• Muy cortas• El facilitador no facilita

Page 59: Como lograr mejora con agile dev

Backlog de Mejoras / Improvement Backlog

iBackloghttp://koo-doy.com/2011/05/14/ibacklog/

Page 60: Como lograr mejora con agile dev

Backlog de Mejoras Extendido

• Equipo• Ambiente• Proceso

Page 61: Como lograr mejora con agile dev

Las 4 capas: Premisas

"La real unidad productiva en una organización no es el individuo sino el equipo de trabajo ."

"Equipo integral : Equipo de alto rendimiento en donde sus integrantes son personas con

altas aspiraciones y un equilibrio "

Fuente: Las 4 capas / Raul Uribehttp://www.bizzit.es/blog/wp-content/uploads/2009/09/las4capas.pdf

Page 62: Como lograr mejora con agile dev

Las 4 capas

Fuente: Las 4 capas / Raul Uribehttp://www.bizzit.es/blog/wp-content/uploads/2009/09/las4capas.pdf

Page 63: Como lograr mejora con agile dev

Las 4 capas

• Filosofía:o Paradigmaso Principioso Valores

o Filosofía de un Equipo integral:� Principios:

• Sinceridad• Pasión por el cumplimiento del deber• Coraje

Fuente: Guía de las 4 capas / Fuerza 3 http://www.fuerzatres.com/2011/11/las-4-capas.html

Page 64: Como lograr mejora con agile dev

Las 4 capas

• Metodologíao Usan métodos estandarizados (Ej. Scrum, Kanban)

?o Los procesos están claramente definidos?o Los acuerdos de trabajo son explícitos?

Fuente: Guía de las 4 capas / Fuerza 3 http://www.fuerzatres.com/2011/11/las-4-capas.html

Page 65: Como lograr mejora con agile dev

Las 4 capas

• Técnicaso Cómo resolvemos las tareas en el día a día? o Cómo aplico las metodologías en el contexto de mi

organización? o Cómo resuelvo las situaciones difíciles y los

conflictos?o Cuán efectivas son las reuniones? o Se realizan presentaciones útiles? Hay

capacitaciones de productos?

Fuente: Guía de las 4 capas / Fuerza 3 http://www.fuerzatres.com/2011/11/las-4-capas.html

Page 66: Como lograr mejora con agile dev

Las 4 capas

• EcosistemaTodo lo que interactúa con el sistema que estamos analizando. o Cómo son los salarios y condiciones de trabajo?o Cómo es la rotación, el nivel de satisfacción

profesional, ausentismo y enfermedades?o Cómo es el ambiente físico? muebles, sillas, luz

natural, nivel de ruido?

Fuente: Guía de las 4 capas / Fuerza 3 http://www.fuerzatres.com/2011/11/las-4-capas.html

Page 67: Como lograr mejora con agile dev

Matriz de Retrospectivas

Matriz de Retrospectivas / Pablo Tortorellahttp://thomaswallet.blogspot.com/2011/12/dinamica-de-retrospectiva-3-caras-y-4.html

Page 68: Como lograr mejora con agile dev

Matriz de Retrospectivas

Matriz de Retrospectivas / Pablo Tortorellahttp://bit.ly/MuL8oql

Page 69: Como lograr mejora con agile dev

Visual Management

Es la práctica de utilizar técnicas de visualización de información para administrar el trabajo.

Fuente: Visual Management Blog / Xavier Quesadahttp://www.xqa.com.ar/visualmanagement/2009/02/visual-management-for-agile-teams/

Page 70: Como lograr mejora con agile dev

Visual Management

Beneficios:• Forma clara, simple y efectiva para

organizar y presentar el trabajo.• Es divertido, elementos coloridos en

ambientes de oficina aburridos.• Influencia positiva en el comportamiento y

actitud del equipo, gerentes y stakeholders.• Ayuda a construir transparencia y confianza.

Fuente: Visual Management Blog / Xavier Quesadahttp://www.xqa.com.ar/visualmanagement/2009/02/visual-management-for-agile-teams/

Page 71: Como lograr mejora con agile dev

Radiadores de Información

• Es un elemento ó dispositivo ubicado en un lugar donde todo el equipo pueda verlo en su trabajo o en su camino.

• Presenta al usuario información importante sin preguntarle a nadie o ingresar a ningún sistema.

Fuente: Alistair Cockburn http://alistair.cockburn.us/Information+radiator

Page 72: Como lograr mejora con agile dev

Radiadores de Información

Retaliation - Jenkins IChttps://github.com/codedance/Retaliation

Page 73: Como lograr mejora con agile dev

Entrenar: Coding Dojos

Page 74: Como lograr mejora con agile dev

Pedir Ayuda: Agile Coaching

• Comunidades• Amigos• Consultores

Page 75: Como lograr mejora con agile dev

Conclusiones

Proyecto = Producto + Proceso

La mejora continua es un camino no un fin o técnica.

Las mejoras funcionan mejor una a la vez.

Empieza por la retrospectiva.

Page 76: Como lograr mejora con agile dev

Conclusiones

Sharpen the Saw !!

Page 77: Como lograr mejora con agile dev

Referencias

• Agile Retrospectives

o http://bit.ly/tecnicas_retrospectivas(resumen Agile Retrospectives /Esther Derby and Diana

Larsen)

• Jeff Patton:

o AgileProductDesing.com

• Henrik Kniberg

o http://blog.crisp.se/author/henrikkniberg

• Visual Management / Xavier Quesada

o http://www.xqa.com.ar/visualmanagement/

Page 78: Como lograr mejora con agile dev

Como participar en la Comunidad Ágil

Referencias / BibliografíaA leer y compartir: Tweets, Blogs, Papers, Libros!

Listas de correo• foro-agiles (Yahoo Group, habla hispana)

• AgilesColombia, AgilePeru, Agiles-Argentina, AgilVen, ChileAgil, ...

Eventos anuales internacionales• Ágiles Latinoamérica: Bs.As. 2008, Floripa 2009, Lima 2010, Bs.As. 2011,

Córdoba 2012

• Agile 2007/8/9/10/11/12 ...

Eventos regionales• Reuniones mensuales: Conversatorios, Coding Dojos,

• Presentaciones, Talleres, Open Spaces, organiza el tuyo!

Page 79: Como lograr mejora con agile dev

Luis [email protected]@gmail.com

AgilesColombia.org@agilescolombiahttp://bit.ly/lista-agilescolombia

Gracias!