lunes, 13 de agosto de 2018

Scrum: Métricas - Inventario


En un equipo de desarrollo de software que trabaja bajo Scrum, el código realizado para historias (producto potencialmente entregable) pero que no se ha subido a producción es inventario. En un proceso Lean se reduce el inventario, por lo que el equipo tendrá un flujo limpio y ágil si su inventario es mínimo o no lo tiene. Para ello el equipo puede medir su inventario o "Stories Inventory", en función de sus historias, mediante los siguientes indicadores:

Indicador
Descripción
Delivered Stories
Historias terminadas y aceptadas en el sprint
Released Stories
Historias desplegadas en producción en el sprint
Accumulated Delivered Stories
Total de historias terminadas y aceptadas
Accumulated Released Stories
Total de historias desplegadas en producción
Stories Inventory
Total de historias terminadas y aceptadas sin subir a producción

Gráficamente se puede visualizar de la siguiente manera:



jueves, 26 de julio de 2018

Retrospectiva: Tercer RETRO, La estrella de mar


Otra retrospectiva para hacer es la estrella de mar.

Seguimos el esquema de las retrospectivas general, solo que cambiamos el lienzo. Ahora hacemos incapié en 5 conceptos:




  • Empezar a hacer: Aquí van todas aquellas cosas innovadoras o que por cierta curiosidad queremos probar. 
  • Hacer más: aquellas cosas que estamos usando o haciendo y que queremos que mejoren. Son practicas que creemos que requiere mas refinamiento y que nos gustan mucho por ello hay que darles mas. 
  • Hacer igual (mantener): aquello que venimos haciendo y que nos brinda valor. Debemos seguir haciéndolo pero no será preocupación mejorarlo. 
  • Hacer menos: aquello que intentamos pero no nos dan tanto beneficio como se esperaba. Está bien, démosle como una segunda oportunidad, pero no esta en nuestras prioridades. Tal vez no nos funcione. 
  • Dejar de hacer: aquellas prácticas que podemos eliminarlas. Cuando el equipo ve que no le da valor o simplemente no le gusta una practica puede optar por eliminarla.




Referencias:
  1. Retrospectiva estrella mar starfish retrospective scrum.


Retrospectiva: Segunda retrospectiva, RETRO básica



Como segunda retrospectiva podemos hacer una variante de la primera,  de tres columnas o tres áreas. Esta vez: Dejar de hacer, Seguir haciendo y Empezar a hacer.

Acuerdos de trabajo para la RETRO.


Lienzo de RETRO 3 áreas

Dinámica Posibles pasos a seguir: 


  1. Iniciar la ceremonia dando contexto, acuerdos de trabajo (ver imágen) y con una instroducción. 
  2. Colocar un lienzo y dibujar las tres áreas: Dejar de hacer, Seguir haciendo y Empezar a hacer. 
  3. Dedicar 5 min. a revisar las acciones del sprint pasado y evaluar en qué área del lienzo van.
  4. Dedicar 10 min. a colocar postits . 
  5. Dedicar 20 minutos a conversar sobre qué dejar de hacer. 
  6. Unificar o superponer postits parecidos. 
  7. Dedicar 10 min. a colocar postits sobre qué seguir haciendo.
  8. Dedicar 20 minutos a conversar sobre lo quúe comenzar a hacer. 
  9. Unificar o superponer postits parecidos. 
  10. Dedicar 15 min. a colocar postits sobre qué podemos hacer en el próximo sprint/iteración. 
  11. Dedicar 35 minutos a conversar sobre ideas para mejorar. 
  12. Unificar o superponer postits parecidos, priorizar, asignar guardianes responsables del seguimiento de cada acción. 
  13. Concluir la ceremonia.

Referencias:

  1. 7 pasos para una retrospectiva efectiva (Caroli).
  2. Ejercicios de retrospectivas ágiles.
  3. Actividades para iniciar una retrospectiva inolvidable.





viernes, 6 de julio de 2018

Retrospectiva: Primer retrospectiva, RETRO básica de tres columnas

Retrospectiva o RETROSPECTIVE


Este evento es una oportunidad para que el Scrum Team se inspeccione a sí mismo y cree un plan para mejorar en aquellas áreas que lo necesiten. Por ello se celebra después del Sprint Review y antes del Sprint Planning.

El Scrum Master se asegura que el evento de una duración de máximo 1:30 o 2 horas para sprint de dos semanas, o 3 horas para Sprints de 1 mes de duración, tenga lugar y que los asistentes entiendan su propósito, participando como un miembro más del equipo.

El "propósito de la Retrospectiva es inspeccionar y mejorar". Inspeccionar cómo fue el último Sprint con respecto a personas, relaciones, procesos y herramientas Identificar y ordenar los elementos principales que fueron bien y las posibles mejoras.

Crear un plan para implementar mejoras en la forma en que el Srum Team realiza su trabajo. La tarea de Scrum Master es animar al Scrum Team a mejorar su proceso de desarrollo, buscando prácticas para hacerlo más efectivo y agradable para el próximo Sprint, y a aumentar la calidad del producto al adaptar la definición de “Done” según corresponda.

Al final de la Retro, el Scrum Team debe haber identificado las mejoras a implementar en el próximo Sprint, por ello normalmente se suelen poner 3 columnas, las cosas positivas realizadas que se deben mantener haciendo, las negativas, y las acciones a mejorarlas con un responsable que se ocupe de que se cumplan. Y es que si hay una práctica que el equipo ya está haciendo bien, los beneficios de esta práctica y cómo asegurarse de seguir realizándola o mejorarla se discute también. Estas mejoras pueden haberse detectado e implementado antes, pero la Retro permite una oportunidad formal para enfocarse en la inspección y la adaptación.

Acuerdos de trabajo.


Lienzo de RETRO 3 columnas.

Dinámica


Posibles pasos a seguir:
  1. Iniciar la ceremonia con una instroducción y los acuerdos de trabajo.
  2. Colocar un lienzo y dibujar las tres columnas: carita feliz, cara triste e ideas (como muestra el gráfico).
  3. Dedicar 10 min. a colocar postits sobre qué salió bien en el sprint/iteración.
  4. Dedicar 20 minutos a conversar sobre lo que salió bien. Unificar o superponer postits parecidos.
  5. Dedicar 10 min. a colocar postits sobre qué NO salió del todo bien en el sprint/iteración.
  6. Dedicar 20 minutos a conversar sobre lo que salió mal. Unificar o superponer postits parecidos.
  7. Dedicar 15 min. a colocar postits sobre qué podemos hacer en el próximo sprint/iteración.
  8. Dedicar 35 minutos a conversar sobre ideas para mejorar. Unificar o superponer postits parecidos, priorizar, asignar guardianes responsables del seguimiento de cada acción.
  9. Concluir la ceremonia.


Referencia:
https://www.holistic-software.com/retrospectives
https://www.saraclip.com/eventos-en-scrum-ii/
7 pasos para una retrospectiva efectiva (Caroli).




lunes, 18 de junio de 2018

Equipo Ágil: Propósito

Un equipo sin propósito no es un equipo, es un grupo. Y un grupo no es otra cosa que un agregado de personas, no es un sistema. Y un equipo necesita ser un sistema, que tenga objetivos comunes alineados por un propósito de equipo, con identidad y sinergia. Pues, tanto un equipo como una empresa necesitan identidad, tienen que tener un objetivo global o propósito para existir. La razón de por qué hacen lo que hacen.

En general, el propósito es una misión o una meta global general que buscamos alcanzar, que nos representa y nos da una razón de ser. Es el motor motivacional y el factor cohesionador de nuestras acciones. Permite que nuestro comportamiento tenga foco y coherencia con una finalidad.

En un equipo orientado al valor y de larga vida, el trabajo a realizarse debe estar bajo la sombrilla del propósito. Si se desarrolla un proyecto, también debería estar alineado al propósito. Todo lo que no esté alineado al propósito atenta contra el foco y la eficacia del equipo. Ahora bien... ¿Cómo es la redacción de un buen propósito.

Redacción de propósito


La estructura de propósito de un equipo no difiere tanto de la de una empresa o área funcional de una empresa. Veamos algunos ejemplos de propósitos de empresas.


  • 3M: Resolver problemas sin solución de forma innovadora.
  • Cargill: Mejorar el estándar de vida alrededor del mundo.
  • Fannie Mae: Fortalecer el tejido social democratizando continuamente la propiedad de viviendas. 
  • Hewlett-Packard: Hacer contribuciones técnicas para el progreso y el bienestar de la humanidad.
  • Lost Arrow: Ser un modelo y herramienta del cambio social.
  • Pacific Theatres: Proveer un espacio para que prosperen las personas y mejore la comunidad.
  • Mary Kay: Darle oportunidades ilimitadas a las mujeres.
  • McKinsey & Company: Ayudar a que los gobiernos y corporaciones líderes del mundo tengan más éxito.
  • Merck: Proteger y mejorar la vida humana.
  • Nike: Experimentar la emoción de competir, ganar y aplastar a los competidores.
  • Sony: Experimentar la alegría de promover y aplicar la tecnología para el beneficio del público. Telecare Corporation: Ayudar a que las personas con discapacidad mental desarrollen plenamente su potencial.
  • Wal-Mart: Darle la oportunidad a la gente normal de comprar las mismas cosas que la gente rica
  • ING: Darle a la gente el poder de mantenerse un paso por delante en la vida y los negocios. Kellogg’s: Alimentar las familias para que puedan prosperar y florecer.
  • IAG: Ayudar a la gente a gestionar riesgos y a recuperarse de las penurias de pérdidas inesperadas. 
  • Walt Disney: Hacer feliz a la gente.


Si bien estos propósito son más amplios y generales, de alto nivel; podemos notar un patrón: se usa el verbo en infinitivo para denotar una acción del "qué es lo que hace". También se observa, en varios casos, a quién va dirigida la acción del "qué hace" para identificar para quién va dirigida o "quién es el cliente" o "quién es el beneficiario de la acción". Y, tal vez lo más importante o motivador, "cuál es el beneficio de la acción".

Estructura de propósito


Entonces, se puede componer un propósito de:

  1. Una acción: acción de "qué es lo que haceredactada en infinitivo (proporcionar, construir, desarrollar, ayudar, resolver, presentar, facilitar, etc.).
  2. Un cliente o beneficiario: a quién va dirigida la acción o "quién es el beneficiario de la acción".
  3. Una capacidad o competencia asociada a la acción y al "qué es lo que hace".
  4. Un beneficio: el beneficio esperado de la capacidad que recibirá el cliente o "cuál es el beneficio de la acción".


Ejemplo 1: Veamos un ejemplo con un propósito pedagógico de docentes para el plan de una materia académica:

Ejemplo 2: Propósito de una panadería y pastelería.





lunes, 4 de junio de 2018

Agile Team: Swarming work o Trabajo Enjambre

El trabajo enjambre o swarming se menciona en el contexto de Agile o Extreme Programming para indicar el trabajo en donde todos los miembros del equipo trabajan, colaborando, sobre un mismo problema o artefacto. Es decir, todo el equipo frente a una pizarra o una computadora analizando y resolviendo un solo problema, diseñando y diagramando una arquitectura, escribiendo un documento o desarrollando una sección de programa (Mob Programming). 

Scrum en Enjambre


Por ejemplo, en un equipo que trabaja bajo Scrum, todos en en el equipo trabajan en la misma historia al mismo tiempo. Es decir, todos toman una historia y se reparten trabajo de la misma historia o se enfocan en una tarea a la vez hasta que se completa, para luego pasar a la siguiente tarea, donde todos trabajan juntos en ella; así hasta completar la historia y poder pasar a la próxima. El equipo puede manejar un WIP de 1, todos en una historia y una historia por vez. Esto es particularmente importante y útil cuando un equipo recién comienza, ya sea como equipo o en un producto nuevo.


Mob Programming



Mob programming es una estrategia de programación en la que un equipo de desarrolladores trabajan sobre una única tarea al mismo tiempo, en el mismo ordenador y, sobre todo, colaborando entre ellos. Es decir, todos sentados con una computadora y en lo posible con un monitor grande, pantalla grande o proyector.

La dinámica puede consistir en que uno de los desarrolladores se encargue de liderar o “pilotar” (por 15 min. rotativo) y el resto actúe de “navegadores” o colaboradores. El piloto guía el desarrollo de la tarea, mientras el resto va opinando y dando ideas sobre la mejor forma de afrontar el código: detectando malas prácticas (smells) a tiempo, aportando posibles refactors o consideraciones de calidad y ayudando a que emerja un diseño lo mejor posible.

Puede parecer poco productivo que todo un equipo esté todo el tiempo con una tarea en una computadora, pero no es necesario que sea una práctica constante. Puede ser utilizada, por períodos de tiempo estipulados, para nivelar conocimiento en un equipo, para desarrollos de partes complejas o creativas y para diseños grupales.

Swarming work meeting

El equipo suele tener ceremonias (de Scrum, por ejemplo), reuniones técnicas o de análisis de problemas. Las reuniones en equipo altamente colaborativos, son donde participan todos, de manera equilibrada, usando un único artefacto que posibilite la colaboración (como una pizarra, herramienta de colaboración, lámina canvas, etc.) pueden ser llamadas "swarming work meeting".


El equipo de Dr. House haciendo swarming.

Las herramientas digitales que favorecen el swarming son Google Drive, herramientas de texto por código (como LaTeX, etc), pizarras digitales, herramientas de diseño y diagramación colaborativas, herramientas de votación colaborativas, etc.


Referencias:


lunes, 28 de mayo de 2018

Agile team: El rol Iteration Manager

El rol Iteration Manager



El Iteration Manager (IM) es un Facilitador del Delivery que vela por que el equipo tenga todas las capacidades para entregar el mejor valor posible. En resumen, es una función dentro de los equipos de desarrollo Agile que se enfoca internamente en el equipo, facilitador de equipo, y en la facilitación del proceso de desarrollo y de entrega. Es un rol que algunas empresas usan como abstracción del rol de Scrum Master (de Scrum) y de Flow Master (del método Kanban). El Iteration Manager busca lograr que su equipo logre ser un equipo ágil de alto desempeño y que mejore continuamente.




Referencias: