La semana pasada ha sido una semana un poco rara. Hemos puesto en producción la versión 1.3.0, después de poner en un entorno nuevo (DEMO) la 1.3.0-RC1 el lunes por la noche y la 1.3.0-RC2 el martes por la noche. La negociación para lo que debía entrar en la 1.3.0-FINAL creo que tuvo más que ver con que no tenemos aún rodado este nuevo proceso con la falta de confianza que da el estado actual de una de las funcionalidades que queremos poner en producción para liberarnos de procesos manuales. Así que tuvimos un poco de ruido de fondo. El equipo estuvo “casi” trabajando sin verse afectado. Pero yo tuve discusiones por teléfono con nuestros ¿dueños de producto?. Mi inglés a nivel negociación deja algo que desear, pero mi inglés a nivel defensa creo que no está mal.
La puesta en producción fue “casi fina”. Se nos olvidó ejecutar un script que actualizaba unos datos y eso nos provocó un poco de desasosiego al principio de la mañana. Lo resolvimos bien, aunque debemos aprender para el futuro a tener mucho más controlado lo que hay que hacer para los pasos a producción.
Pero la ley de Murphy es implacable y, tras el paso a producción, un par de problemas sin conexión alguna con el nuevo código hicieron que el viernes tuvieramos a medio equipo dedicado a encontrar qué estaba pasando. Sólo puedo decir que, efectivamente, es una cagada importante que nos va a impactar bastante, pero bueno, hay que vivir con estas cosas. “El mundo real” creo que le llaman algunos. 😉
Además de este ruido, inherente al pasado y presente del proyecto, tuvimos una visita de quien yo diría que es lo más parecido a nuestro dueño del producto. Estuvimos todo el día haciéndole preguntas, tratando de averiguar cuáles son las verdaderas prioridades (aparte de los compromisos que algunos tengan en forma de project plan) y, sobre todo, haciéndole entender la esencia del nuevo proceso. Yo, en mi linea de sinceridad “estilo House” (la verdad aunque te duela), me la desayuné diciéndole que el proyecto estaba medio muerto, que soy el quinto jefe de proyecto que pasa por aquí, que el código está muy mal, que hay funcionalidades sobre las que no tenemos el control y que no podía comprometerme ahora mismo con ninguna fecha porque no tenía ni idea de cuánto podíamos tardar en hacer una funcionalidad cualquiera. La cara de esta buena señora fue pasando del rosa pálido al blanco mortecino. Me preguntó: “¿Tienes un plan?”. Je, je. Me encantan esas preguntas. “¿Un plan con fechas? No. Pero tengo un plan: el equipo va a entregar todas las semanas un poco. Y siempre lo más importante.” Bueno, creo que llegados a ese punto, no era suficiente. Le enseñé ufano mis tablones. (No están del todo bien, pero ya me valían para lo que quería enseñarle). Le dije: “¿Ves?” Mmmm. Creo que tampoco la convencieron. Hasta que recurrí a las metáforas. ¡Benditas metáforas que todo lo pueden!
Quiero que el equipo sea como un ciclista. Quiero que empiece a pedalear. Primero pedaleará un poco despacio, pero a medida que se vaya encontrando cómodo irá pedaleando mejor y más rápido. Sin cansarse. Todo lo que haga falta. Así, si vamos pidiéndole pequeños esfuerzos todas las semanas, los podrá ir consiguiendo.
Le expliqué lo importante que es para nosotros, ahora mismo, enfocarnos en las tareas y tener claro lo que se considera “acabado-acabado”. Por eso le expliqué lo interesado que estoy en que seamos capaces de entregar a su equipo de QA pequeñas funcionalidades para recibir feedback lo antes posible y poder revisar lo que estamos haciendo para no propagar malentendidos por toda la aplicación. Y parece que, entre mi machaque metodológico y de sinceridad brutal, que “los chavales” la acribillaron a preguntas sobre dos o tres funcionalidades que no estaban claras, y que le enseñamos la generación de un informe que antes tardaba cerca de una hora y ahora apenas unos segundos… sus defensas bajaron. (Bueno, también tuvo que ver que la tuvimos sin desayunar y la llevé a comer bastante tarde, pero resulta menos literario). 🙂
Después de comer (por cierto, Ramón, pagué yo) nos pusimos a escribir tarjetitas. Resulta que su prioridad es muy parecida a la nuestra: tener el control sobre lo que está en producción y luego ser capaces de tener para fin de año funcionalidades que deben estar “sí o sí” porque son obligaciones legales. Así que estuvimos escribiendo historias de usuario (bueno, lo más parecido que pudimos) para tratar de tener más claro que ahora que lo que está en producción actualmente es correcto. Si comprobamos todo eso junto a uno de sus compañeros, que va a estar con nosotros esta próxima semana, y sacamos las dos o tres tarjetas que el cliente final-final está esperando: #WIN
Eso sí, hemos escrito un montón de tarjetas nuevas pero no hemos negociado qué otras cosas se quedarán fuera de esta iteración: #FAIL.
También se nos ha quedado en el tintero escribir (aunque sea por encima) las tarjetas de las otras prioridades importantes (aunque no urgentes). Así que me toca hacerlo a mi. 🙁 #FAILFAILFAIL
Con tanto ruido el viernes, alguien (creo que fue Victor, el ScrumMaster en prácticas) me preguntó: “¿vamos a hacer la retrospectiva?” Diossss, ¡ni me acordaba! La verdad es que como coach y como scrummaster dejo mucho que desear. Bueno, total, puse en la balanza los beneficios de hacer la retrospectiva el viernes o dejarla para otro día. Ganó el dejarla para otro día. No sabría si considerarlo un #FAIL. Un poco sí, porque rompemos el ritmo (que aún no tenemos), pero creo que los beneficios de estar trabajando con nuestra “dueña de producto” eran más interesantes.
Por cierto, que no se me olvide. Uno de los “javeros”, que resulta ser el pistolero más rápido al Oeste del Pecos (ya sabéis, es de los que dispara y después pregunta), se ha llevado el libro de TDD de Carlos Blé y el Implementation Patterns de Beck. Sé que el segundo no se lo leerá a pesar de las dos semanas de vacaciones que se lleva. ¡El inglés, esa gran barrera! Pero tengo muchas esperanzas en él y no descansaré hasta que, como mínimo, sea capaz de hacer un “extract method” (aunque no tenga tests) <– ¿He dicho yo eso?
Y por último, un poco de autobombo y autocomplacencia: mi jefa me presentó como “il grande mago”. Por suerte, el equipo tiene los pies en la tierra y en la anterior retrospectiva ya habló de que, de momento, contamos con el efecto “cambio de jefe de proyecto” pero que no podemos caer en pensar que hemos conseguido nada. Ea, a acostarse que mañana hay mucho que hacer. Hemos cambiado un poco la fecha de releases porque esta semana hemos tenido un día menos y nuestros QA no querían tener menos tiempo para probar. No es grave. Seguimos buscando nuestro ritmo sostenible.
Actualización:
Se me olvidaba. Esta semana también se incorporó un nuevo compañero. Debo agradecerle su comprensión porque mi falta de previsión me ha hecho tenerle prácticamente abandonado y sin ni siquiera un ordenador con el que trabajar. Ya tengo planes para él. Los pondremos en común y a ver cómo los podemos poner en práctica. 🙂