Archivo de la categoría: Scrum

A vueltas con el refinamiento deL PRODUCT backlog

Vamos primero a revisar qué dice la Guía Oficial de Scrum sobre el refinamiento

Definicion oficial del refinamiento de sprint

El refinamiento (refinement) de la Pila del Producto (Product Backlog) es el acto de añadir detalle, estimaciones y orden a los elementos de la Pila del Producto (Product Backlog). Se trata de un proceso continuo en el cual El Propietario del Producto (Product Owner) y el Equipo de Desarrollo (Development Team) colaboran acerca de los detalles de los elementos de la Pila del Producto (Product Backlog). Durante el refinamiento de la Pila del Producto (Product Backlog), se examinan y revisan sus elementos. El Equipo Scrum decide cómo y cuándo se hace el refinamiento. Este usualmente consume no más del 10% de la capacidad del Equipo de Desarrollo (Development Team). Sin embargo, los elementos de la Pila del Producto (Product Backlog) pueden actualizarse en cualquier momento por El Propietario del Producto (Product Owner) o a criterio suyo.

De la definición oficial lo fundamental a entender es que el Refinamiento NO ES UN RITUAL como así lo son el Sprint Planning, Review y otras. Tampoco obliga a que haya presente ningún rol en concreto sino que únicamente habla del equipo.

Personalmente he trabajado con muchas interpretaciones de cómo se hace un refinamiento. Empecé trabajando con Scrum sin hacer nada explícitamente que se llamara como tal. Prácticamente todo el trabajo de análisis del Backlog, estimación y demás se hacía con el equipo durante el Sprint Planning. Más tarde, en mis tiempos de consultora informática trabajando para bancos, un grupo de expertos en cada área como el arquitecto, los Product Managers, seguridad y demás rellenaban todo lo posible la información del elemento de Backlog en JIRA y el refinamiento por parte del equipo era una mera lectura de lo que ya habían refinado otros ( 0% de posibilidad de aportación por su parte, 0% ownership, 0% creatividad por parte del equipo) . En esta última etapa de trabajo en la que estoy, el equipo al completo se reúne con Product Owner, revisa el backlog, le añade información, lo aclara y lo estima. Aquí lo que nos encontramos muchas veces es que algunos miembros del equipo consideran improductivas estas sesiones de refinamiento ya que la discusión a veces se centra entre un par de personas. Otras veces surgen dudas que se necesitan aclarar e investigar y opinan que hubiera valido la pena revisarlo bien antes de que llegue al equipo. Esto último incluso, a veces, esto provoca que se salte el refinamiento de esa historia de usuario a una siguiente sesión.

A nivel de flujos de información, en la actividad de refinar detecto dos flujos principales.

1.- Análisis o incorporación de información hacia el elemento del backlog. Aquí el conocimiento del equipo junto con otras personas con información de negocio, entorno (legal, técnico, …) , arquitectura y resto de áreas confluyen junto con la creatividad del equipo en una definición de la solución técnica que hay que realizar.


2.- Difusión de la información hacia el propio equipo. El equipo necesita entender el trabajo que hay que realizar. Una buena forma de saber que el equipo conoce su alcance es mediante el ejercicio de la estimación en conjunto. Es un buen indicador de que todos tienen en la mente el mismo tipo de trabajo cuando el equipo al completo coincide en la valoración y en los criterios por los que se ha llegado a la misma. El último momento responsable en el que debería ocurrir esta difusión de información es durante el Sprint Planning, ya que es cuando el equipo se dispone a empezar su desarrollo.

¿Quién hace falta que esté presente en cada parte? En el segundo flujo está claro que debe estar todo el equipo. Si algún miembro no participa en la difusión de información es posible que no sea capaz de trabajarlo sin bloqueos cuando llegue el momento
en el sprint.
Es en la primera parte de análisis en la que no no lo veo tan claro. Si participan personas que no tienen el conocimiento para aportar información al Backlog Item, solamente escucharán discusiones entre otros miembros hasta llegar a la solución final. No digo que esta discusión no pueda aportarles información a estos miembros del equipo más junior y veo importante que puedan colaborar para conseguir ownership del producto por su parte. Sin embargo, dependiendo del nivel de maduración de cada uno dentro del equipo , puede haber otras formas más eficientes de conseguir estos mismos objetivos que sentándose juntos sólo a escuchar.

Mi propuesta es la participación de miembros de forma incremental y con un ángulo que depende de la maduración del equipo.
En equipos pocos maduros donde hay un líder que tiene mucho conocimiento, habrá mucho trabajo de análisis por su parte y este ángulo de colaboración hasta llegar a todo el equipo sería más cerrado. En equipos muy maduros, las fases de análisis y difusión se hacen de forma simultanea y eficiente, ya que todos pueden aportan a la solución y se enteran a la vez de qué hay que hacer. Aquí el ángulo sería muy abierto o casi inexistente.

Dentro de estas dos formas opuestas también hay matices o grises. Quizá los miembros que son más seniors hacen el análisis y después se revisa con el resto del equipo. Quizá puede empezar el Tech Leader con Product Owner y preparar un esbozo de la solución que se afine con el resto.
Independientemente de cómo se haga, veo importante,de vez en cuando, si se hace una sesión de refinamiento de equipo, evaluar cómo consideran los propios miembros del equipo cuánto ha sido de productiva la sesión. De este modo pueden aflorar síntomas de algo que no esta funcionando bien y podría mejorarse hablándolo en la siguiente retrospectiva. Inspeccionar y adaptar, la base de Scrum.

Las 5 disfunciones de un Sprint Planning

Hace poco facilité un Spring Planning en el que todo fue mal. Sólo un miembro del equipo se comunicaba con el Product Owner y el resto se quedaba callado protegido por el muro que ofrece la distancia y la audioconferencia.  Justo al terminar me llegó la información por parte de algunos miembros del equipo de que lo planificado en el sprint no tenía sentido, que no habíamos tenido en cuenta ciertas cosas.  Cuando lo escuché sentí que lo que de verdad no tuvo sentido fue la reunión en sí misma ya que no se pudo pactar el objetivo del sprint.

Hace poco me leí el libro de Patrick Lencioni sobre las 5 disfunciones de un equipo.  En este libro en forma de novela se tratan los problemas que suelen tener los equipos que no consiguen trabajar de forma colaborativa y estas disfunciones acaban viendose en los sus resultados. Estas mismas 5 disfunciones se dieron juntas en el propio Sprint Planning y voy a explicar por qué. Espero que  te ayude a identificar si ocurre lo mismo  en tu equipo Scrum.

5 Disfunciones de un equipo

Ausencia de confianza.
El equipo debe tener la misma confianza que tiene cuando se reune con sus amigos a hablar de fútbol. Debe poder ser capaz de preguntar todas sus dudas, levantar la mano  y decir lo que se le ocurra como «no lo entiendo» o «lo que dices no tiene sentido»  y hacer estimaciones sin miedo a represalias. Yo he participado en Sprint plnnings en los que además de los miembros del equipo Scrum había varias personas de la PMO (Project Managemenet Office) monitorizando y atendiendo a todo lo que se iba diciendo. Esto no ayuda a que el equipo se sienta cómodo y seguro en la sesión. Hay que estar atento a estas personas como por ejemplo algun lider técnico que reprocha cualquier intervención de sus compañeros con aire de superioridad
Mi compi de GFT @fedcasabianca como apertura de un curso sobre retrospectivas nos pidió valorar «¿Cuanto de seguro te sientes sobre dar tus opiniones?». Esto es muy importante evaluarlo antes de empezar un Sprint Planning. Además identifica si hay gente conectada de forma remota o asistiendo en la reunión que no han sido invitados por ninguno de los miembros del equipo Scrum. Preguntadles cuál es su rol para la reunión de sprint planning. Recuerdales el objetivo de la sesión y que quizá lo dificultan con su presencia (Principio de Incertidumbre). Sí notas que afecta al equipo y está dentro de tus posibilidades, intenta que no asistan. Lo importante es el propio equipo y que se sientan seguros .

Temor al conflicto
Cuando el equipo no se siente seguro en la sesión de planificación no surgen conflictos. No se discute nada.  El Product Owner dice cómo lo quiere o todo lo que necesita que esté en el sprint y el equipo asiente sin discrepar. O el considerado lider técnico da una valoración o una solución técnica y el resto la asume sin ponerla a juicio. En una sesión de Sprint Planning debe haber mucha comunicacion entre todos los miembros del equipo Scrum, incluyendo sobre todo quien es la voz del producto. Toda persona que no discuta un tema lo más seguro es que no lo haya entendido bien y tenga que preguntar qué hacer o cómo hacerlo a mitad de sprint, poniendolo en peligro.
Como herramientas en las planificaciones que ayudan a disminuir esta disfunción se viene usando el Planning Poker. Precisamente se usa porque al poner las cartas todos boca abajo y darles la vuelta a la vez, todos dan la estimación sin conocer la del resto. Cuando un miembro del equipo da una estimación que discrepa de las otras, debe hablarse (generarse el conflicto necesario) para que su opinión se tenga en cuenta o al menos se escuche y evalue. La persona que ha dado esa estimación distinta debe quedarse con la sensación de que al menos se ha escuchado su criterio.

Falta de compromiso
Según la guía de Scrum cuando termina el Spring Planning, el equipo y el Product Owner acuerdan un objetivo de sprint. La palabra «acuerdan» es muy importante. No es una imposición al equipo por parte del propietario de producto.  El equipo es la unica entidad que establece la cantidad de trabajo que puede asumir. Sin embargo, en muchos equipo no es así o los propios miembros no lo ven así. La tradicion waterfullista de agendas apretadas ha calado durante muchos años y algunos equipos esperan que les impongan los backlog item a meter en el sprint sin tener en cuenta lo que realmente pueden hacer. Esta imposición provoca que los que van a desarrollar no sientan que ese objetivo les pertenece y no lo asuman como propio.  Cuando esto ocurre puede pasar que finaizar el planning y alguien diga  «Eso no lo hacemos ni de coña». O peor aún, se asuma de forma silenciosa independientemente de cómo acabe todo.
El equipo debe sacar a la luz cuánto de realista el es objetivo de sprint antes de dar el objetivo del mismo por pactado. Para ello una herramienta que se usa es la votación con el puño de cinco.  Se les pregunta a los miembros del equipo de desarrollo cuánto de realizable es el objetivo del sprint con valores entre 0 – «Ni de coña» y 5 – «Lo hacemos con la patilla».  La votación de cada uno lo tienen que mostrar en conjunto levantando la mano por encima de la cabeza sin verse influenciados por el resto.  Si se está en remoto se puede usar una herramienta tipo planning poker remota para esta votación. Es importante que quienes pongan valores bajos expongan sus razones. Quizá saben algo que el resto no.

Evitación de las responsabilidades
Cuando el equipo siente que el objetivo del sprint ha sido impuesto, lo trabaja sin sentirlo como suyo. Eso hace que por ejemplo cuando se ve acercarse el final de sprint y se detecta que quizá no se puede entregar todo, no les importe y no tengan el compromiso de colaborar entre todos para conseguirlo. Con esto no estoy hablando de hacer horas extras. Con esto quiero decir que el equipo  no tiene el sentimiento en que en parte se han fallado a ellos mismos y no sienten la necesidad de mejorar como equipo sprint tras sprint. Sin esta sensación no tienen la motivación suficiente para llegar a convertirse en un equipo de alto rendimiento.
Para detectar y mejorar esto, en las retrospectivas al final del sprint se debería evaluar las razones por las cuales algo ha salido del objetivo.  El Product Owner, aunque sin llegar al reproche, sí debería transmitir la importancia de intentar cumplir el objetivo pactado, sobre todo si el no cumplirlo es algo que ocurre de forma frecuente. El alto rendimiento debería ser objetivo de todos y si a nadie le importa que no se entregue todo, el equipo puede llegar a la autocomplacencia y estancamiento.

Poca atención a los resultados
Todas estas disfunciones concluyen en que el equipo no siente el producto como suyo.  No sienten los triunfos del resultado de su trabajo como suyos. Por ejemplo no les imporata cuando se consigue que el producto llegue a hitos como una alta tasa de descargas o uso por millones de personas. Tampoco sienten como suyos problemas que afectan al producto como por ejemplo el no haber conseguido activar la campaña de Navidad a tiempo y perder muchisimas ventas. Cuando estos problemas ocurren puede ser normal en un equipo disfuncional echar la culpa a elementos externos como «a quien gestiona el proyecto», a «negocio» o a otras partes implicadas.  Sencillamente es un equipo que va «fagocitando» historias de usuario del backlog y convirtiendolos en software funcionando sin mayor visión. Esto puede ocurrir independientemente de si se usa Scrum, Kanban o Waterfall como metodología.
Para detectar esta disfunción es tan fácil como ver si al equipo le importan metricas de producto como número de usuarios, funnels de tendencias de uso, las opiniones de los usuarios, etc.. Hazte preguntas como: ¿Le suelen preguntar al Product Owner sobre cosas relativas al uso del producto? ¿El Product Owner les comparte el avance del producto, a dónde quiere que vaya en medio largo plazo y para el equipo es algo que le interesa?

He creado este formulario de Google  para recordarme y ayudarme en los Sprint Planning a recabar esta información sobre estos problemas. Espero que en dos o tres sprints haciendo esta evaluación y usandolo como dato en las retrospectivas  me ayude a identificar estas disfunciones y estudiar entre todos formas de mejorar. Feel free de copiartelo o adatarlo.

Día 1 en la Conferencia Agile Spain 2017 en Sevilla

Keynote de Ramón Cabezas.  @RamonCabezas
Human & Digital Transformation
Ahdalid.com Kaps.es

Estuvo hablando de la transformación digital y la importancia de tener al cliente en el centro.  Enseñó un par de sus productos que se diseñaron teniendo eso en cuenta. como un pulsador para que te llame alguien para gestionar un accidente y el usuario no tenga que buscar los papeles del seguro o a quién llamar.

 

Jerónimo Palacios.  @giropa832
Scrum Studio

Habló de Scrum Studio, un framework diseñado por Scrum.org. Es una célula de trabajo totalmente independiente de la empresa y con los elementos imprescindibles para que pueda trabajar de forma autonoma y ágil. Va tomando proyectos poco a poco de la empresa madre y haciéndolos de forma ágil. Tiene la autoridad para  tomar y echar gente de sus equipos. La idea es que vaya fagocitando poco a poco al resto.

Tanto es su potencia que puede ocurrir el caso que le ocurrió en la que el CEO de la empresa acabó terminando la célula ágil.

Frase: Culture eats Agile. Al final, las personas de poder que no quieren perder su autoridad acaban por destruir los intentos de implantación de cualquier sistema ágil a escala.

El CIO  se transforma para dar Leadership services, lo que necesita esa celular para funcionar como una empresa autónoma: RRHH, contable, …

Hay que cambiar la visión de proyectos (algo que cuesta dinero) a producto (algo que genera valor y dinero por ende a la empresa)

La gestión se hace mediante Evidence based management (Scrum.org).  Basado en el triángulo MEASURE, IMPROVE, DIAGNOSE.

Existe un Scrum Development Kit que miraré  bien 😉

 

Toño de la torre. @adelatorrefoss
Discusiones y decisiones: herramientas para la efectividad

Primero hizo un disclaimer que todo venía del libro de Gamestorming y retrospectivas. Habló de conceptos básicos del gamestorming como los juegos de apertura para generar ideas, de exploración para categorizarlos y formar ideas procesadas y juegos de cierre para acabar con una decisión. También estuvo explicando varias dinámicas de gamestorming para trabajo colaborativo .

 

Israel Alcazar.  @ialcazar
Equipos de alto rendimiento

Matriz de autoridad de Richard Hackman. Parecido a la matriz de delegación de Jurgen Appelo pero más alto nivel.

Auto-organización. El equipo decide la forma de trabajo
Auto-diseño. El equipo decide qué necesita miembros o ya no.
Auto-gobierno. El más alto nivel, como si fuera una cooperativa de socios

Alto-rendimiento es una suma de resultados satisfacción y motivación. Es importante tener objetivos claros, entorno seguro y  responsabilidad compartidas.

Habó de las 5 disfunciones del equipo, del libro de Patrick Lencini

Jerarquía es como comunicación padre-hijo como trata el Analisis transaccional. Tratando al trabajador como un padre que trata al hijo hace que el hijo se comporte como rebelde o apagado.  El equipo necesita autonomía y responsabilidad.  Lo cual se trabaja con una combinación de confianza, delegación y feedback. Un entorno de confianza es el que se debe conseguir como mínimo en las retrospectivas. Comentó que se encuentra con que en las primeras retrospectivas los miembros sólo «sueltan mierda» porque tienen muchos problemas acumulados que necesitan decir y las retrospectivas es la primera oportunidad.

Las herramienta de evaluacion de equipo deben ser usados por los propios equipos. Conflicos/Cohesion/Eficacia

La evolución se hace mediante una serie de pasos en espiral con varias iteraciones. No necesariamente en el mismo orden

  1.  Proposito
  2. Conexión (empatía).  Aportación como persona
  3. Acuerdos (Roles, Reuniones, Formas de trabajo)
  4. Seguridad a trabajar en las retrospectivas
  5. Autoconocimiento (capacidades)  funcional, llegar a identificar los Roles de Belbin (explorador, investigador, coordinador..)
  6. Consciencia
  7. Autonomía
  8. Responsabilidad

Jose Ramón Díaz. @joserra_diaz
Taller de Liderazgo para la transformación. 

Empezamos haciendo una definición de liderazgo entre todos. Salieron conceptos como capacidad/habilidad, conocimiento referente, personas, sigues, empatizas, objetivo/visión, moviliza gente, forma consciente/inconsciente

Cuando una persona tiene autoridad se la da poder, principalmente para que aporte una dirección, de orden y protección. En sociedades democráticas está asignación ocurre de abajo a arriba y en empresas normalmente de arriba a abajo.

Cuando es autoridad formal se asigna a una persona por parte de la dirección. Cuando es autoridad informal ocurre a través de la confianza.  Cuando son distintas las personas que tienen ambas ocurren los conflictos.

Después idenficamos las características de un buen seguidor. Identificamos características como  empatía, ser crítico, autonomía, fidelidad .., Después se nos pidió identificar cuales de esas características no corresponde con las de un buen lider, descubriendo por nosotros mismos que no las había. Son las mismas características.

¿Para qué necesitamos un lider?

Hay ciertos problemas que requieren conocimiento técnico como puede ser lo que ocurre cuando un médico de urgencias pide y ejecuta todo lo necesario ante un paciente que llega con una parada cardíaca. También hay problemas de tipo adaptativo que tienen que ver con el trato a personas y gestión de conflictos y que requieren un líder con valores.

Definición Liderazgo: Process of mobilizing groups to engage its challenges developing its skills for their progress and well-being.

Las conversaciones normalmente tienen un umbral de conflicto (con su nivel máximo y mínimo) que representa la zona de aprendizaje. Es importante para el líder hacer que los conflictos se mantengan en esta zona, sin que esté por debajo y no permita aprender o por encima y el conflicto tenga consecuencias negativas.

Un reto conlleva a tomar acciones lo que lleva a estar en la zona de conflicto.  ¿Cómo se sabe que está en la zona correcta?  El líder va girando entre  Observar, Interpretar y Actuar. Debe proteger el liderazgo que surge en estas conversaciones para no parar el proceso en si mismo y el propio liderazgo expontaneo.

Terminamos definiendo acciones para un reto elegido entre todos e identificando si las acciones requirieren de un líder más técnico , si requiere autoridad por parte de la compañía o un líder con valores.

 

Marta San Martín. @MartaSanMartin
Introducción al coaching. Cómo tener conversaciones diferentes

Marta nos enseño la técnica del Mirroring en la que se escucha a la persona que tiene un problema sin darle soluciones ya que normalmente esa persona tiene todo el conocimiento necesario. Hay que hacerle preguntas abiertas tipo «¿Cómo’, ¿Cuándo?, ¿Quién?, ¿Dónde?. La pregunta de «¿Por qué ?» no es recomendada porque normalmente crea en la persona que explica el problema una justificación que puede crearle incomodidad. Una cosa que sí se puede hacer es interrumpirse y refrescar para hacerle ver que se está escuchando con atención.

Hicimos el ejercicio de Mirroring en parejas, al final de cual explicábamos el uno al otro cómo nos sentíamos tanto el que explicaba el problema como la persona que hace de coach. Entre uno y otro hicimos un ejercicio de mindfuldness aprovechando que Marta es certificada y experta en el tema.

 

Keynote de Marta Pinillos. @pinillos_marta
La voz, la clave del éxito en tu comunicación

En este divertido e increíble keynote de despedida, Marta explicó la importancia de la comunicación ya que es el más usado. Realmente la comunicación cara a cara es un valor ágil por lo tanto hay que darle importancia a la voz para transmitir correctamente los mensajes.

  • Ritmo: el ritmo correcto debe ser entre 130 a 150 palabras por minuto. Si es menos el emisferio derecho que el que procesa de forma rápida se queda «dormido».
  • Volumen. Hay que manejar el volumen, bajando en las partes importantes más que subirlo para no parecer una verdulera.
  • Tonos: Hay que tener 5 tonos de voz distintos y saber manejarlos.
  • Modulación. Manejar la modulación haciendo cambios de riemo. No debe haber un ritmo constante para mantener la atención.
  • Dicción. Saber marcas las consonantes en las palabras importantes
  • Pausas. Hacer 4 ó 5 pausas ¿por minuto?
  • Entonacion. Saber marcar las palabras
  • Respiración. Tener una respiración diafragmatica y un tono no agudo porque aporta seguridad y credibilidad.

Con esto terminó el primer día. Muchas cosas descubiertas y a tener en cuenta.

SPIKES de investigación para reducir incertidumbre y estimar mejor con Scrum

En los equipos que se usa Scrum, es normal enfrentarse con integraciones con otros sistemas (PlugIns, servicios, SDKs,..)  de los cuales no se tiene suficiente conocimiento para poder estimar con precisión cuánto se va a tardar. Planificar una historia de usuario que incluya esta integración puede hacer variar el total de puntos realizados al final del Sprint, según haya sido más fácil o más difícil esa integración.

Para resolver esa incertidumbre, lo que hacen algunos equipos es añadir un SPIKE al Sprint previo a la propia historia de usuario. Un SPIKE no tiene puntos de historia asignados sino un deadline de término. Una vez resuelto el SPIKE y sabiendo cómo se hace esa integración, se puede estimar en el siguiente Sprint de manera más precisa.

Sin embargo, a esta aproximación le veo dos problemas y es la razón por la cual no suelo usarla.

  1. Al planificar un Sprint en el cual hay SPIKES sin puntos asignados, no se puede equiparar el numero de puntos del Sprint anterior (o la media de los últimos) . Ese SPIKE puede ocupar una parte significativa del propio Sprint y al final se completarán más o menos  puntos de historia según ese SPIKE acabe siendo más o menos costoso.  Por lo tanto, creando un SPIKE previo sólo estás retrasando la incertidumbre de la integración al Sprint anterior del que se desarrolla la propia historia de usuario que  usaría ese componente.
  2. Para resolver la investigación y desenmascarar todos los posibles problemas, normalmente se necesita trabajarlo tanto que su inclusión en una historia de usuario es casi directo. Por lo tanto personalmente prefiero que todo este trabajo que se ha hecho se vea reflejado en una historia de usuario, aunque sea sencilla, y permita el feedback del usuario/Product Owner al término del propio sprint sin tener que esperar uno más.

¿Qué opinas? ¿Usais SPIKES de investigación previa?

 

 

Eficacia vs Eficiencia en Scrum

Llevo tiempo dandole vueltas

Ultima mente creo que estoy dando el mensaje incorrecto sobre Agile, que no persigue la eficiencia ya que waterfall es mas eficiente. Todo esto surge de una de las lineas que vi como propuesta del Manifiesto Lean Kanban. No hay sistema teoricamente más eficiente que el waterfall. Cada fase está realizada por un equipo especialista que, sin cambio de contexto, pasa todo su trabajo de una a la fase siguiente. Sin embargo waterfall falla en cuando hay cambios a mitad de proyecto, o cuando hay alguien que no hace perfectamente su trabajo. Cosas que ocurren el 100% de los proyectos. Sin embargo, un equipo que pasa de waterfall a scrum tiene sensación de perdida de eficiencia por las siguientes razones:

  • Reworking. Cada vez que se enseña el software al cliente existe la posibilidad de que toque rehacer algo. Implica cambiar cosas que has hecho en un sprint en el sprint siguiente. También para que el software sea entregable al fin de sprint muchas veces hay que hacer trabajo extra para dejarlo listo.
  • Tener que integrar en cada sprint hace que se tenga que cambiar el contexto continuamente. Si desde el sprint 1 el equipo está peleando con integraciones, a primer momento parece no ser tan eficiente como estar solamente desarrollando. Sin embargo, esto convierte el gran problema de la integración final en una molestia desde el primer sprint.
  • Reuniones de Scrum : planning, daily, review y el refinement. A los equipos a los que se les tradicionalmente se les da una lista de tareas sin mayor explicación, les parece que son innecesarias todas estas reuniones… «Era más productivo cuando se me daba la lista de tareas».

Sin embargo, aunque no lo parezca Scrum hace que un equipo pueda llegar a ser mucho más productivo. Como indica el titulo del libro de Jeff Sutherland, se puede llegar a entregar el doble de valor en la mitad de tiempo que con metodologías tradicionales. Aunque esto no se consigue por la metra transición a Scrum y mucho menos en el primer sprint. Lo que sí que permite es el marco para que el equipo consiga gran eficiencia. ¿Cómo?

  • Promoviendo que no se haga más de lo solicitado («make the right think done»). No se debe escribir una sola linea de código que no tenga que ver con el objetivo de la historia de usuario y no se debe hacer una sola tarea o historia que no esté dentro del objetivo de sprint.
  • Protegiendo al equipo de las interrupciones. El equipo está expuesto a interrupciones para hacer burocracia, explicar o documentar su progreso y hacer cosas que no tienen que ver con su objetivo de sprint. El Scrum Master es responsable de proteger a los miembros del equipo.
  • Focalizando las reuniones. Cada reunión Scrum tiene su objetivo y su ventana temporal. Esto hace que las reuniones mismas sean más productivas y permite que durante el tiempo en la que el equipo no está reunido (work time) no tenga que cambiar de contexto por culpa de ellas. Hay que detectar y minimizar o eliminar las reuniones sin foco y que no aporten nada al equipo o producto.
  • Mejorando la comunicación del equipo, haciendo que estén mas coordinados y tengan menos esperas y colisiones entre ellos.
  • Acercando el feedback y testing al momento de desarrollo. Esto hace que la corrección tarde hasta 20 veces menos que si se hubiera hecho semanas después.
  • Permitiendo al equipo pensar de qué modo mejorar a si mismo. Al juntarse en las retrospectivas les permite analizar cómo eliminar los impedimentos y desperdicios (waste) para hacer más y más puntos de historia cada sprint.
  • Permitiendo hacer experimentos de mejora durante un sprint y evaluar si seguirlo o no. Un equipo puede probar algo que parece una locura durante un sprint y evaluar en la siguiente retrospectiva su resultado. De este modo es posible encontrar modos ingeniosos de mejorar la productividad sin poner en riesgo el proyecto.

La proxima vez que explique Scrum, no olvidaré en contar ambas facetas (efectividad y eficiencia). Efectivamente se prima la efectividad ante la eficiencia, pero hay que transmitir que se puede conseguir mucha más eficiencia con equipo Scrum que en equipos tradicionales.