Hace algunos años tuve la suerte de trabajar en un equipo que fue maravilloso. Nos encargaron hacer una plataforma nueva de Backoffice. Os comento cuál era nuestro entorno:
- Equipo Scrum de 6 personas con desarrolladores fuertes a nivel técnico
- 3 tipos de clientes: 2 usaban la plataforma y estaban en la misma oficina y el otro es al que éstos daban soporte a través del Backoffice.
El primer año y medio fue un infierno, si, un infierno. Teníamos que entregar un producto nuevo en tiempo record y los desarrolladores querían hacerlo todo con la mayor calidad posible. Tardamos un año en salir a producción y empezar a buscar el equilibrio entre la calidad, el alcance y los tiempos. El caso es que jamás imaginé que un inicio de relación tan malo podría llegar a ser la mejor experiencia que he vivido con un equipo en mi vida, os quiero contar nuestros pasos y las condiciones que nos rodearon para llegar a un alto nivel de madurez y coquetear con #NoEstimates.
Entrega de valor frecuente y funcionando
Poner el producto en producción fue un chute de adrenalina. Hubo cosas que funcionaron como se esperaba pero muchas otras no. Empezamos a arreglar los problemas pronto y reaccionar rápidamente al feedback que nos daban los clientes. Conseguimos solucionar en poco tiempo las deficiencias de la primera entrega, lo cual nos ayudó a recuperar la confianza de clientes, stakeholders y cómo no, de los jefes. Llevamos a cabo varias retrospectivas donde tomamos serias decisiones sobre cómo mejorar todo nuestro flujo de trabajo pero el compromiso más importante fue: queremos entregar valor cada 2 semanas. Revisamos nuestro calendario de ceremonias y nos pusimos manos a la obra.
Relación de confianza con los clientes
Poner el producto en producción fue un cambio de chip para todo el equipo, pero ahora venía la fiesta. Nuestra plataforma de Backoffice la usaban los operadores del call center, unas 200 personas que estaban en nuestra misma oficina. Tener al cliente en casa tiene ventajas e inconvenientes. Empiezo por los inconvenientes para quedarnos con buen sabor de boca al final. Sufríamos interrupciones constantes vía tocamiento de hombro al primero que pillan: «oye que esto no funciona», y su correspondiente pérdida de foco y puesta en riesgo del Sprint Goal.
Los problemas los convertimos en oportunidades para llegar a acuerdos con el cliente:
- Un representante del cliente y resto de stakeholders debían venir obligatoriamente a las sesiones de refinamiento y Sprint Review, con el objetivo de estar alineados en qué era lo más importante a hacer en cada momento.
- Sólo poníamos en riesgo el Sprint Goal si había problemas con A y B – dos áreas donde las incidencias tenían un impacto crítico en el cliente final, al que los operadores daban un servicio que sí merecía dejar lo que estuviéramos haciendo.
- Los clientes y stakeholders debían estar disponibles para aclarar dudas del equipo sin comprometer el Sprint Goal. Aunque yo era el Product Owner no quería estar siempre en medio de todo sino que la comunicación fluyera entre ellos, por ejemplo: si estaba reunida o de vacaciones y a un desarrollador le surgían dudas, quería que las resolviera cuanto antes sin tener que esperarme a mi.
El equipo era fuerte técnicamente y estaba muy involucrado en el negocio, la relación directa con los clientes aumentó su empatía, conocimiento de sus problemas y necesidades. Esta relación con el cliente y stakeholders sumado a la entrega de valor frecuente crearon un vínculo de confianza. Todos sabíamos que había mucho por hacer, pero todos estábamos de acuerdo en el siguiente incremento de producto que deseábamos obtener.
Gestión de alcance no de fechas
Un día hubo una pregunta en una sesión de refinamiento que provocó otro cambio de chip. El cliente dijo: ¿y podríais entregar estos items cuando los terminéis en vez de esperar dos semanas?. A lo que el equipo le respondió con otra pregunta aún mejor: ¿qué es lo mínimo que necesitas y así te lo puedo entregar antes?. Y me puse a llorar. Los clientes, stakeholders y el equipo, acordamos lo que necesitábamos en el siguiente incremento para salir cuanto antes que es muy diferente acordar cuantos items puedo hacer en dos semanas. No estimamos los items que acordamos, sólo los hacíamos lo más pequeños posible para ponernos a trabajar en ello cuanto antes, a pesar de este nuevo enfoque, como tarde seguíamos entregando in incremento de producto cada dos semanas. Quiero clarificar que no dejamos de estimar por completo, sólo lo hacíamos con aquellos items que tenían fecha por temas legales, acuerdos comerciales, nada más. Si tuviera que resumir en una frase como conseguimos coquetear con #NoEstimates sería:
La madurez del equipo es la suma del conocimiento de producto, alto nivel técnico, confianza con el cliente y foco en el incremento.
Flujo de trabajo continuo
La entrega de valor frecuente, la confianza y comunicación fluida con los clientes y stakeholders unido a centrarnos en el incremento necesario para salir cuanto antes a producción en vez de estimar lo que podíamos hacer en un Sprint, nos llevó a que algunas ceremonias fueran cuestionables. El refinamiento del backlog era constante, apenas estimábamos, antes de llegar a la Sprint Planning ya sabíamos cuál era el siguiente incremento deseado, esta ceremonia dejó de aportarnos valor. Después nos empezamos a plantear si trabajaríamos mejor con Kanban que con Scrum, en fin, conversaciones interesantes que por desgracia no continuaron…
No comimos perdices
¿Y qué pasó después? La empresa fue comprada por otra del mismo sector. Cuando existe una integración entre dos empresas del mismo sector, los productos y equipos pueden estar duplicados y empieza lo que yo llamo: El juego de los inmortales, sólo puede quedar uno. Y no, no fuimos nosotros. Siempre me quedaré con la duda de hasta dónde habríamos podido llegar, pero estoy muy satisfecha de saber todo lo que conseguimos gracias a preguntarnos constantemente cómo entregar valor mejor.
Algunos enlaces que os pueden interesar:
Un pensamiento