Developing Frogtek

El blog del Departamento de Tecnología

Categoría: agile (página 2 de 4)

El mítico restaurante italiano

La semana pasada nos tocó dar un curso de iniciación a Scrum en el ITA. Aunque llebamos casi 3 años trabajando con prácticas ágiles, es la primera vez que nos encargaban un curso de este tipo.

Learning by doing with lego

La mayor parte de los asistentes procedían del mundo del Software pero algunos no, por lo que me pregunté como podía mostrar ejemplos claros y simples que ilustrasen los valores de Scrum y otras aproximaciones ágiles. Es entonces cuando recordé este brillante post de Ron Jeffries, uno de los padres del XP y firmante original del manifiesto ágil. Me parece muy acertado porque huye de tecnicismos y humaniza la esencia que yo quería transmitir.

Me gustaría tambien compartir con vosotros mi traducción al castellano (disculpas si he cometido algún error). La adjunto al final de este post.

También aprovecho este post para darle las gracias a Teresa Oliver por dejarme sus legos para usarlos en el curso. Para los que no la conozcáis proyecto SKOK os aconsejo que lo sigáis de cerca. Un acierto seguro.

El mítico restaurante italiano

Kate se reunió con Dean en la cafetería de la calle principal donde él originalmente la había contratado. Disfrutaron del buen clima y charlaron sobre sus vidas. Pero Dan tenía una pregunta.

“Kate”, dijo Dan, “las cosas van bien. Los productos se venden, la gente de marketing es feliz, la calidad ha subido, los clientes están contentos. Sólo tengo una pregunta.”

“¿Qué aumento de sueldo me merezco?”, dijo Kate. “Está muy bien que lo preguntes.”

Dan se echó a reír. “No te preocupes por eso, vas a tener un muy buen regalo llegada la Navidad. No, mi pregunta es, ¿cómo puede estar funcionado lo que estás haciendo? Tan pronto tenemos una idea de producto, incluso concretada a medias, los desarrolladores se ponen a construirla y tienen una versión con la que podemos jugar. Y entonces empezáis a mejorarla a partir de ahí. ¿Cómo es posible que eso funcione? “

“¿Quieres decir técnicamente? Tenemos pruebas, refactorización, … “

“No,” dijo Dan. “Esa es tu competencia. Me refiero a cómo puede funcionar desde un punto de vista empresarial. ¿Cómo podemos hacer todo esto sin fijar los requisitos, la estimación de todo y asegurar que las personas hagan lo que dijeron que harían? Parece como si todo el mundo estuviese improvisando “.

“Bueno, se parece mucho a la improvisación”, dijo Kate. -Montones de preparación, práctica y refinamiento. Tal vez sería útil que te contara acerca de mi tío Guido y su restaurante italiano. “

“No pareces italiana”, dijo Dan.

“Es cierto. Estoy en protección de testigos, pero no se lo digas a nadie. En fin, mi tío Guido tenía un restaurante italiano y decidió que necesitaba un hermoso mural en la pared trasera para dar al lugar un toque de clase. Déjame que te cuente lo que pasó. “

“Guido y sus amigos hablaron sobre ello un poco mientras se bebían algunas botellas de su famoso Chianti Cuestionable. Se decidió que era una gran idea. Pensaron en lo que necesitaban y decidieron darle un aspecto toscano agradable, con tal vez una parra que mostrara que las Uvas Cuestionables fueron cultivadas en el viejo país, y probablemente una imagen de la tataratía Sofía, sentada en una mesa de picnic o quizás tendiendo la colada. Hicieron dibujos de sus ideas en servilletas de bar. Desafortunadamente, la mayor parte de estos dibujos se perdieron, porque el Chianti Cuestionable resulta ser un blanqueador muy bueno.

“Una vez recopiladas algunas ideas, y desaparecidos los dolores de cabeza en su mayoría, empezaron a hablar con los artistas locales y aprendieron mucho, mayormente malas noticias. Los artistas querían “libertad artística”, o decían que el trabajo podría requerir un mes y que necesitaban el restaurante cerrado durante ese período. Había todo tipo de problemas.

“La buena noticia era que esto ayudó a Guido a comprender sus necesidades. Necesitaba mantener el restaurante en marcha, y no quería un paño grande y feo colgando para ocultar la pintura, ya que había puertas en la pared, para los baños y la cocina. Al principio trató de encontrar a alguien que pintase todo el asunto durante un fin de semana, pero nadie se acercó a eso.

“Guido se quedó perplejo. No podía tener el lugar con un aspecto horrible, y no podía cerrar, pero realmente quería su mural. Finalmente conoció a una artista que tuvo una idea. “¿Qué pasa si dejamos que la gente vea cómo el mural se va creando”, preguntó a Guido. “Trabajaré temprano por la mañana hasta que se abra, y la gente puede venir todos los días y ver lo que está sucediendo. Ellos le pueden dar información, y usted me puede dar retroalimentación y así construiremos el mural que mejor se adapte a sus ideas y presupuesto. “

“Guido pensó un poco y decidió que si no había gases venenosos por la pintura, aquella podía ser una buena idea. Podía ver la cosa tomar forma e ir guiando el proceso. Pero estaba preocupado por el presupuesto. “¿Cómo podemos mantener los costos bajo control?”, se preguntó.

“La artista sugirió lo siguiente:” Vamos a establecer un plazo y el presupuesto total. Te mantendré informado de cuánto se va gastando, y por supuesto vamos a tener el cuadro en la pared a la vista. Cuando lleguemos a mitad de camino, el cuadro deberá tener una calidad suficiente alta, y tener suficientes elementos pictóricos, como para que podamos pararlo en cualquier momento. Tendrás más ideas, por supuesto, pero para entonces los dos tendremos un sentido de lo rápido que podemos progresar, y tu podrás elegir las cosas más valiosas que añadir o cambiar. Vas a tener un control total sobre cómo termina la imagen, y si lo deseas, podemos parar cuando o antes de se te acabe el dinero. “

“Guido no estaba totalmente convencido. Quería saber cómo podía estar seguro de que no se quedaría con una pared horriblemente fea. La artista le dijo que le garantizaba pintarlo de nuevo y parar en cualquier momento que quisiera, y dijo que iba a comenzar trabajando con algún pigmento temporal, como la tiza, por lo que podría borrar y cambiar las cosas fácilmente.

“Guido decidió seguir adelante.”

Dan pensó. “Casi me puedo imaginar aquel trabajo. Pero parece muy caótico. ¿Funcionó? “

Kate dijo: “Espera y verás. La historia continúa. Guido era un tipo de pensamiento serio, al igual que tú. Él había tomado un montón de notas sobre el mural y sus necesidades, y muchas de ellas no habían sido blanqueadas por el Chianti Cuestionable. Su primer pensamiento fue darle todas sus notas a la artista y que ella las pintara. De hecho, he visto algunas de esas notas y eran bastante buenas. Así es como yo recuerdo lo que escribió sobre la tataratía Sofía:

“Sofía era una gran belleza en su juventud. Se decía en nuestra familia que Sofía Loren tomó su nombre porque se parecía a nuestra Sofía. Nuestra Sofía tenía ojos oscuros oscuros, pelo negro azabache que fluía por debajo de los hombros. Ella tenía las curvas por las que los hombres lloran y se movía como una bailarina a pesar de su voluptuosa figura.”

“Tal vez seas italiana, después de todo”, dijo Dan.

“Silencio, estoy contando una historia, señor”, dijo Kate. “Guido había escrito más:

” El mural debe mostrar a Sofía en sus últimos años. Se había redondeado un poco, como solemos hacer los italianos, y de alguna manera parecía más baja. Se podía ver en su rostro el envejecimiento de la hermosa niña que había sido. Y en sus ojos se podía ver los recuerdos de los muchos hombres a los que había conquistado. Después se casó con Francesco, tuvo una larga vida feliz casada y muchos niños que adoraba.

En el mural se le muestra como la abuela Sofía, sigue siendo enérgica y hermosa, todavía gobierna la familia con suavidad pero con firmeza. Hay que dejar que la gente vea el gran patrimonio de la familia que llega hasta nosotros y debe sugerir que, así como Sofía creaba maravillosa comida para su familia, nosotros creamos comida exquisita para nuestros clientes.

La imagen también debe mostrar que Sofía era frugal, al igual que nuestros precios son bastante razonables dada la alta calidad de la comida que servimos. Y ella debería verse muy trabajadora, para demostrar que vamos a trabajar duro para nuestros clientes.

“Wow”, dijo Dan. “Pide mucho de una foto de una señora mayor.”

“Guido fue poeta de corazón”, dijo Kate. “Pero dime una cosa: si usted fuera un artista, podría dibujar una imagen de Sofía a los 55 años o así, y que se viese como en la memoria de Guido?”

Dan sólo tuvo que pensarlo un momento. “No. He entendido que ella era una señora encantadora, pero no tengo ni idea de cómo sería su cara. Oye, ¡espera! ¿Esto es una alegoría no es así? ¿Estás hablando conmigo acerca de las especificaciones escritas? “

Kate se echó a reír. “Me pillaste. Tenemos el mismo problema que la artista había tenido con la hermosa prosa de Guido: no le decía lo que tenía que hacer “.

“¿Qué hizo ella?”

Kate dijo: “En primer lugar, leyó todas las páginas de notas de Guido. Afortunadamente no hubo demasiadas, pero había un montón de cosas sobre las que el había tomado notas: “

La familia tenía un ratón mascota llamado Petra. El mural debe mostrar al ratón, pero sin verse como que el restaurante está infestado.

Además, ahora que lo pienso, una especie de sensación  de Jardín del Edén puede ser bueno, ya que nuestro restaurante es un pequeño paraíso. Y los postres son muy tentadores. Tal vez debería haber una serpiente para tentar a la gente. Tal vez una pitón.

No te olvides de las uvas Cuestionables de las cuales obtenemos nuestro famoso Chianti.

La familia tenía cabras y ovejas. Tal vez podría haber algunos cerros con animales que juegan.

Recuerdo que una vez un lobo o algo acabó con mi pequeña cabra favorita. ¿Debería haber un lobo?

Kate tomó un respiro. “La lista de Guido seguía y seguía.”

Dan dijo. “Espera. ¿Guido quería una pitón? ¿En un mural de restaurante? ¿De la Toscana? “

Kate dijo: “Resulta que Guido estaba muy flipado con la pitón. A la artista le costó un montón hacer que la olvidara. Y hablar es lo que hicieron.

“La artista se reunió con Guido después de leer todas sus notas. Guido comenzó diciendo que quería diseño del mural y su calendario detallado. Afortunadamente, ella tenía una idea mejor. “Las palabras que describen imágenes no funcionan muy bien, Guido. Yo sugiero dibujarte algunos bocetos de lo que yo entiendo. Vamos a trabajar con los bocetos durante un tiempo, y luego vamos a empezar a trabajar directamente en la pared donde tus clientes puedan ver el mural “.

Dan dijo: “¡Maldita sea, esto es una alegoría no es así? Tu educación jesuita está saliendo “.

“No, no, todo esto es verdad, lo juro”, dijo Kate, levantando los dedos cruzados. “Sin embargo. Tiene mucha relación con la forma en que trabajamos en tus productos “

Dan dijo: “OK, vamos a ver. Comienzas con cualquier material que tengan los de Marketing, y entonces te sientas y hablas con ellos. Y tan pronto como puedas, empiezas a mostrar piezas del producto, como los bocetos de la artista. “

“Sí, es cierto. Y, tan pronto como sea posible, tenemos las piezas del producto en las manos de los clientes, al igual que la artista puso las cosas en la pared en el restaurante tan pronto como fue posible “, dijo Kate.

Dan dijo: “¿No hubo problemas en el camino, al igual que con el aspecto de la tía Sofía y la sangrienta pitón?”

“La artista lo gestionó muy bien. Su primer paso sobre Sofía consistió en pedir fotos de ella a la edad que Guido tenía en mente. Naturalmente, había un montón de fotos en los álbumes familiares. Le hizo elegir sus favoritos y en un principio esbozó algunas muestras, posteriormente, hizo realmente algunas pequeñas entregas con tiza o algo así. En el momento en que Sofía estaba en la pared, ellos tenían una buena idea del aspecto que tendría “

Dan dijo: “¿Hicieron todo el resto de esa manera, con un montón de bocetos en primer lugar?”

“Afortunadamente, no”, dijo Kate. “Una cosa que ayudó fue que, aunque algunas de sus reuniones habían sido fuera del restaurante, enseguida tuvieron una reunión allí, debido a que la artista quería ver la instalación real. Dos cosas importantes salieron de ahí:

“En primer lugar, no pudo evitar darse cuenta de las dos puertas en la pared, que Guido no le había mencionado ni en las conversaciones ni en las notas. Y vio que una llevaba a los baños, y la otra llevaba a la cocina. Ella le preguntó si el mural debía incorporar las puertas, y si era así, si una debía parecer abierta y acogedora, mientras que la otra pareciese cerrada, para que la gente no tratase de entrar a la cocina. Guido estuvo de acuerdo, por supuesto.

“La artista esbozó un par de ideas … una con la puerta del baño pintada para parecerse a un sendero atractivo, y uno con la puerta de la cocina luciendo como una valla cerrada. También le mostró uno con las puertas de la cocina pintadas con el fin de ocultar el hecho de que eran puertas en absoluto. “

Dan dijo: “Has dicho dos cosas. ¿Qué más? “

“La artista descubrió que había mesas pegadas a la pared del mural, no para los clientes, sino para guardar los cacharros del restaurante, como los platos y la cubertería. En los bocetos que había hecho, había detalles de todo el camino hasta el suelo, pero esos detalles no serían visibles en absoluto. Así que estar en la situación real les había dado algunas ideas importantes, una de ellas Guido la había pensado, pero olvidó mencionarla, y la otra era nueva para ambos. “

Dan dijo: “OK, ¿cuál es la lección de todo esto,  jesuita descarada?”

“Ah, Watson, conoces mis métodos. Tratamos de reunirnos no sólo con las personas con ideas sino con los clientes reales de nuestro software. En el caso de Guido,  eran la misma persona, pero al poner a Guido en el restaurante con la artista, surgió una nueva percepción. Cuando nos reunimos, no sólo con marketing sino con nuestros clientes reales y potenciales, con la presencia de simplemente esbozos de ideas de producto, aparecen siempre nuevas y buenas ideas. “

“Está bien, qué más le pasó a tu imaginario tío Guido?”, Dijo Dan.

“¿Imaginario? ¿Imaginario? Por eso, me tienes que llevar a cenar a su restaurante. En fin, trabajaron con bocetos durante un poco más de tiempo, y luego la artista dijo que era hora de empezar a trabajar en la pared real. Guido era bastante reticente. Tenía miedo de que si algo realmente feo aparecía allí, pudieran perder clientes. La artista estaba de acuerdo, pero estaba pensando en la pitón.

“Así que le preguntó a Guido si prefería seguir mirando bocetos y luego cerrar el restaurante durante un tiempo mientras ella pintaba la pared real. Evidentemente Guido no quería cerrar, y entonces se dio cuenta de que no importa la cantidad de trabajo que hubiese en los bocetos, no tendría una idea de cómo la pared quedaba hasta que no estuviese terminada. “

“A menos que se sentase allí y la viese todo el tiempo”, dijo Dan.

“Sí. Y ninguno de los dos pensaba que eso tuviese mucho sentido, y de todos modos habrían utilizado todo su tiempo y flexibilidad de costes en los bosquejos. No habría mucha capacidad para cambiar, sólo la capacidad de fallar y volver a empezar. “

“Entonces, ¿qué hicieron?”, Dijo Dan.

Kate dijo: “Al igual que ella había sugerido. La artista empezó a llegar por la mañana y pintar con tiza el mural en la pared. Ella marcaba grandes áreas, a veces, pintaba zonas más en detalle. Creo que hizo a la tía Sofía y la Parra Cuestionable con más detalle desde el principio.

“Guido estaba preocupado al principio, pero a los clientes les encantó. Les preguntaban qué estaba pasando, y ofrecían comentarios. El restaurante entero se convirtió en una especie de pequeño pueblo donde la gente hablaba entre sí y con el personal y Guido sobre lo que estaba ocurriendo. Un montón de nueva gente comenzó a llegar con más frecuencia para ver qué estaba pasando con el mural. “

Dan dijo: “¿todo se pintó sin problemas en su lugar?”

“Ni de broma”, dijo Kate. “Había un montón de cambios, algunos que Guido vio, y algunos que los clientes vieron. En una ocasión, la artista dibujó la pitón, y la gente pidió sentarse lejos de ella. Supongo que era una serpiente pitón muy convincente. Guido cedió con la pitón en ese punto. “

“OK, así que en nuestra empresa, se pone el producto ante los clientes antes de que termine, y se deja que nos den su opinión sobre él”, dijo Dan.

“Sí, es cierto. Y lo construimos suficientemente ligero como para que cuando lleguemos a las buenas ideas, podamos introducirlas sin demasiados problemas. Ahí es donde nuestras pruebas y refactorización entran en juego “

Dan dijo: “¿Qué pasa con la pared? Cuando comenzó a usar la pintura real, ¿quedaban todavía cambios pendientes? “

“Por supuesto, un montón”, dijo Kate. “Muchos vinieron de los clientes, algunos de Guido, algunos de la propia artista. En el arte, simplemente se pinta sobre los trozos malos o se borra y se vuelve a empezar en alguna zona. En el software, refactorizamos más a menudo, y a veces se reemplazan partes enteras. Preferimos refactorizar, porque es menos costoso, pero a veces simplemente nos equivocamos. “

Dan dijo: “¿Pero no es un desperdicio? ¡Si hubieras planeado mejor, no tendrías que rehacer todo ese trabajo! “

Kate sonrió. “Buen intento. Pero la cuestión no es en la planificación. Ningún número de palabras hubiera conseguido definir el aspecto deseado en la cara de Sofía. Guido tuvo que verlo en la pared. De hecho, hizo que la artista lo cambiase varias veces hasta que captó su visión de esta mujer mayor santa, pero aún sexy. La cosa fue mejorando poco a poco, y volvieron a bocetos un par de veces, pero las cosas en la pared tienen un aspecto diferente al de los bocetos.

“Creo que Guido hizo algunas concesiones importantes para que las cosas saliesen bien. La artista insistió en que se detuvieran a tiempo y en presupuesto. Por aquel momento, Guido estaba sumergido en la creatividad y podría haber estado eternamente refinando a Sofía. La artista lo trajo de vuelta a la tierra recordándole la planificación acordada. En un punto, Guido renunció a alguno de los animales del campo para centrarse un poco más en Sofía. “

Dan dijo: “Eso es lo que hace Susan, ¿no? Recuerdo que una vez me informó de que había retrasado mi funcionalidad favorita para robustecer otra funcionalidad. Tuvo serias dificultades para convencerme, pero fue bastante insistente. Al final, me di cuenta que le había dado la autoridad y la dejé ir hacia adelante. Resulta que todo fue bien, y ella puso mi funcionalidad en una actualización posterior. “

“Exactamente”, dijo Kate. “Construir el mejor producto posible en el tiempo y el dinero que tenemos no es fácil. A veces tenemos que tomar decisiones difíciles, y a veces hasta se hacen mal. Nadie es perfecto. Lo que nuestro enfoque hace es mantener todo visible: el producto a medida que crece, el presupuesto que se gasta, el tiempo conforme se agota. Y mantenemos el cuadro en la pared en todo momento, así que cuando es el momento para la gran fiesta, la imagen está lista.

“Y el mural estuvo listo para la gran fiesta de Guido también. Su hija Amelia decidió casarse, de repente según me contaron, y Guido organizó la fiesta más grande imaginable, en el restaurante. Fue pocos días después de la fecha límite original, y por supuesto fueron un montón de personas que nunca habían visto el restaurante de Guido. Se lo pasaron en grande y a todo el mundo le fascinó el mural. Por lo que yo sé, nadie preguntó por qué no había una serpiente pitón en la imagen. “

Dan pensó un momento. “Creo que lo he entendido. Tu trabajas lo más cerca posible del producto real, evolucionando tu comprensión y el producto, al mismo tiempo. Y tomas decisiones sobre la marcha, haciendo lo mejor que puedas, y asegurándote de que está siempre listo para la próxima fiesta – quiero decir listo para enviar. Suena fácil. “

Kate sonrió. “Bastante cerca. Una cosa: no es fácil. Uno tiene que estar dispuesto a trabajar en público, con todo lo bueno y todo lo malo a la vista. Uno tiene que estar dispuesto a tomar decisiones, y a redefinirlas, y uno tiene que trabajar con el fin de hacer el cambio fácil.  No es que realmente sea más fácil que las formas más antiguas. Simplemente,  es mucho mejor “.

“Es mucho mejor”, dijo Dan. “Cuando hablamos por primera vez, pensé que tendría que cerrar la empresa. Ahora tenemos un flujo constante de nuevos productos y un flujo constante de clientes más satisfechos. Gracias por explicarme cómo lo haces, adornándomelo con la historia mítica del restaurante de Guido. “

“¿Mítica?”, Dijo Kate. “Espera a degustar la Piccata de ternera de Guido en la cena que me vas a pagar. No te parecerá mítica entonces. ¿Y los baños? Son por esa puerta que se parece a un sendero cubierto junto a la parte privada del jardín. “

Avances en burn-down charts: la “burn-up-down” chart

Hacemos Scrumban y eso nos ha obligado a hacer alguna que otra cosa curiosa. Una de ellas consistía en tener dos gráficas el burn-down para nuestras historias de Scrum (las planificadas) y el burn-up para nuestras historias de Kanban (las no planificadas). Básicamente se trataba de poner un objetivo de historias planificadas y una especie de tope a las historias no planificadas… planificar el trabajo que te va a llegar de forma no planificada tiene algo de absurdo, pero se puede hacer. No hay que medir el pasado y esperar que el futuro se comporte. Tener dos gráficas resulta un poco incómodo, aunque no es un gran problema. Reservar ya desde el principio una parte de tu ancho de banda a Kanban denota que tenemos unos POs un poco “volubles”. Tampoco pasa nada.

En cualquier caso en la última vuelta de tuerca a nuestro sistema hemos decidido superponer ambas gráficas para así poder saber de un vistazo cómo va el Sprint independientemente de haya habido mucho o poco Kanban. Aquí os pongo un ejemplo de nuestra “burn-up-down chart”:

En este caso la línea azul señala el ritmo ideal de completado de US de Scrum del Sprint. En rojo vemos la realidad, como la parte de Scrum lleva un pequeño retraso; en amarillo el Kanban real, las historias no planificadas que se han ido terminando. De esta gráfica podemos obtener la siguiente conclusión, la primera semana a pesar de que se acumuló retraso entre las historias planificadas el equipo de desarrollo cumplió con su objetivo (ya que lo que faltó de Scrum se hizo de Kanban), la segunda semana la cosa fue peor.

Al final la manera de leer esta gráfica es sencilla.

  • Si las gráficas amarilla y roja se cortan antes de terminar el Sprint el equipo de desarrollo ha cumplido su objetivo.
  • Cuanto más suba la línea amarilla peor planificación se hizo.

Scrum, Kanban y la matriz de Eisenhower

Érase una vez un Scrum Master que controlaba el proceso Scrumban que un equipo seguía. ¿Le pitan a alguien los oídos?. Dicho de otro modo, para que no se diga que aquí sólo escribimos para los “talibanes agilistas” ;P.

Erase una vez un gestor de un equipo encargado de llevar a cabo tareas planificadas y no planificadas en un periodo de tiempo determinado y cíclico. No sé cual de las dos introducciones es peor.

Érase, también, una vez un Product Owner malvado que no hacía más que meter Kanban en el sprint, haciendo sufrir al Scrum Master y poniendo a prueba la velocidad del equipo. El Scrum Master le insistía al equipo para que no dejara abandonadas las tareas de Scrum, mantuviera una velocidad de Scrum aceptable y consiguiera los objetivos del sprint. Y en estas llegó la retrospectiva y el equipo le afeó al Scrum Master que priorizara el Scrum frente al Kanban, ya que todos son hijos de Dios (del Product Owner en este caso). Así que el Scrum Master se puso a pensar y sacó las siguientes moralejas además de escribir este post.

  • El equipo tiene razón, en teoría, el Kanban es tan válido como el Scrum. La suma de todo nos da la velocidad total del equipo y si los puntos totales al final del sprint son iguales o mayores que los planificados el equipo habrá cumplido con su papel.
  • El Scrum Master también tiene razón, en la práctica, el Product Owner siempre, salvo cambios grandes de requerimientos, espera que todo el Scrum esté acabado en la fecha final de sprint. Si el Scrum se termina, el Scrum Master habrá cumplido con su papel.
  • El hecho de no tener definidos claramente las prioridades del Kanban (FIRE, PRIO, ASAP) puede fomentar estos problemas. El Kanban en Frogtek entra directamente en la pila de producto del sprint y se empieza antes o después en función de lo arriba que entre en la columna. Es decir, es priorizado junto con lo demás (hasta ahí bien), pero luego cuando entra y navega por las diferentes fases no tiene ni más, ni menos prioridad que el resto de lo que está en desarrollo. De ahí que el Scrum Master en algún caso acabe defendiendo lo planificado y el programador quiera que todo se valore por igual, ambos defendiendo su trabajo. Pero ¿debe hacerse?.

Aquí es cuando entra en juego la relación entre las tareas de Scrum, Kanban y la matriz de Eisenhower. Eisenhower se ve que era un tío muy organizado y las malas lenguas dicen que inventó el típico plano cartesiano con cuatro cuadrantes, con un eje señalando la importancia y otro la urgencia. Así tras analizar una tarea en un momento dado podía decidir qué hacer con ella:

  • Urgente e importante. Consejo de Eisenhower: ¡Hazla ya!. Consejo ágil: Normalmente esto es Scrum (en el peor de los casos esto entrará como Kanban de alta prioridad a mitad de sprint pero en ese caso es bastante fácil poner al Scrum Master y al equipo de acuerdo en lo importante que es sacarla la tarea cuanto antes adelante).
  • No urgente pero importante. Consejo de Eisenhower: Planifícala. Consejo ágil: Vuelve a analizarla en la siguiente ronda de planificación y métela como Scrum en el siguiente sprint cuando ya sea urgente e importante.
  • Urgente pero no importante. Consejo de Eisenhower: Delega. Consejo ágil: Normalmente esto es Kanban, ya que su urgencia suele salir a relucir a mitad de sprint y nunca tendrá la importancia suficiente para entrar como Scrum. Este tipo de tareas son las que crean conflicto a veces y las que acaban retrasando los sprints.
  • Ni urgente, ni importante. Consejo de Eisenhower: ¡A la basura!. Consejo ágil: si ves muchas de estas en tu tabla, cambia de Product Owner.

Simplificando un poco se podría asimilar Importante con Scrum y Urgente con Kanban. Es por eso que como Scrum Master creo que Scrum casi siempre debe ir por delante que Kanban. Siendo flexibles, claro. 🙂

Visualizar el servidor de integración continua

Monitor de monitorizaciónOs presento la última “frikada” que hemos añadido a nuestra colección de gadgets de oficina.

Con el viejo servidor, actualmente en desuso, una pantalla vieja y el plugin de Jenkins  eXtreme Feedback Panel Plugin. Hemos montado un visualizador del estado de nuestro servidor de integración continua (Jenkins).

El objetivo esta claro. Conseguir estar enterados en todo momento de la salud de nuestras construcciones. Ya no vale eso de “no vi el email”.

Además informa del culpable de la rotura si la hay. Y muestra el número de tests añadidos en la última construcción, entre otras virguerías.

 

 

 

Resumen del Global Day of Code Retreat en Aragón

El resumen es sencillo: lo pasamos muy bien.

Es toda una satisfacción ver como la gente responde ante eventos de estas características, y se puede juntar a 3o personas con ganas de aprender un sábado entero. Sebastián fue el maestro de ceremonias perfecto, proponiendo distintos retos cada vez más complejos e imaginativos. Creo que el que más gustó fue lo de hacer ping-pong programming en silencio.

También fue divertido contar con las dos programadoras más jóvenes de todas las localizaciones de este Global Day of Code Retreat y ver cómo alternan los pomodoros con el juego de la goma.

Os dejo un par de fotos del evento.

Hasta la próxima!

Tabla de kanban para las retrospectivas

Al principio nuestras reuniones de retrospectiva eran de lo más… cómo decirlo sin ofender a nadie… anárquico. Tanto en contenido como en periodicidad, es decir, las hacíamos cuando queríamos y como queríamos. Podían pasar meses entre una y otra, y cuando por fin hacíamos una nos dábamos cuenta de lo útiles que eran y la cantidad de cosas interesantes que surgían. Las ha habido incluso que han supuesto un punto de inflexión en nuestra manera de trabajar, como aquella que hicimos con la excusa de que algunos habían acudido a un evento llamado AOS en una ciudad llamada Barcelona.

Con el tiempo, y conforme te haces con todos los procesos y ellos dejan de dominarte a ti, hemos sido siendo más constantes y periódicos con estas reuniones. Incluso nos compramos un libro, Agile Retrospectives (del cual he de reconocer que sólo he leído los primeros capítulos) e investigamos por internet sobre la mejor manera de hacerlas. Hay infinidad de técnicas que se pueden aplicar. Nosotros optamos por una de lo más sencillo. Básicamente cada miembro del equipo escribe en uno o varios post-its las cosas que han ido bien y las cosas que han ido mal en el último mes. Se ponen en común y se agrupan por temas, de forma que podemos identificar cuales son las principales virtudes que debemos fortalecer y cuales los principales problemas que hay que paliar. Sigue una discusión sobre estos temas de la cual obtenemos una lista de puntos de acción que se revisan de retrospectiva en retrospectiva. Además de puntos de acción también salen sugerencias y recomendaciones (o lo que podríamos llamar puntos de acción “vagos“… del estilo de “sed todos buenos“). Estas recomendaciones son un problema porque no es fácil hacer un seguimiento de su cumplimiento ya que no son objetivos SMART. En la última parte de la reunión debatimos también sobre las ideas que cualquiera haya incluido en la excel que tenemos para “ideas a discutir durante la retrospectiva”.

Llevamos ya varios meses siendo muy regulares con este tema y ahora hemos decidido dar un paso más y crear una tabla de kanban para ilustrar el proceso. Nos gustan los post-its y ayudan a decorar la oficina… qué se le va a hacer!!.

En la foto podéis ver cómo en verde y rojo apuntamos las cosas buenas y las malas, para que a nadie se le olviden. Más importante aún son los puntos de acción cuyo seguimiento realizamos con una tabla que no puede ser más simple. Adicionalmente tenemos nuestro apartado de sugerencias del mes… a ver si teniéndolas en la sala de reuniones a la vista, las tenemos más presentes. Si esto no funciona optaremos por recitarlas todas la mañanas en plan mantra antes del stand-up. Algo del estilo de:

  • Ser QA no me da derecho a hacer cowboy committing
  • Me flagelaré de forma inmisericorde si el stand-up dura más de 25 minutos

Muchas veces hemos oído que la reunión de retrospectiva es la más importante de todas las reuniones que conforman el espíritu ágil. Encarna la esencia del Kaizen y da la oportunidad de debatir, aportar y enriquecerse (espiritualmente, claro). He de reconocer que, personalmente, veo como muchas de estas reuniones suponen un soplo de aire fresco en Frogtek. Y veo, no sin orgullo, como nuestro equipo se autogestiona y mejora de forma imparable, día tras día y mes tras mes. Supongo que son los pequeños placeres del Scrum Master que no programa, dado que no puedo hacer el baile de la victoria tras compilar por última vez la loser story de turno.

 

Desk-Surfing

La semana pasada tuvimos a @francho_lab en la oficina, no voy a entrar en detalles de lo interesante que fue su visita porque soy el menos indicado para hacerlo y porque cualquiera de los programadores lo hará mucho mejor que yo. Pero sí que me gustaría ensalzar las virtudes de este tipo de intercambios informales y de la web que se montó con ese objetivo, Desk-Surfing.Org, después de la última Agile Open Spain 2011 de Pamplona.

Para nosotros éste ha sido el cuarto intercambio/visita. Anteriormente hemos tenido el honor de tener a @carlosble, @hell03610 (Emma) y a @rubenbpv. Además Pedro estuvo tres días en Biko2 y Julio ha estado 2 en PocketWidget. Todas y cada una de las visitas han sido fuente de innumerables mejoras. El mero hecho de salir y ver un entorno diferente o recibir a una persona de otra empresa hace que te replantees la forma de trabajar, aprendas nuevas técnicas o procesos.

Son estas cosas, junto con la asistencias a eventos como las AOS o la CAS, las que nos dan los empujones necesarios para seguir mejorando continuamente. Por eso Frogtek se registro en la web Desk-Surfing.Org y por eso continuaremos acogiendo y enviando ingenieros en el futuro. ¡Os animamos a todos a probar la experiencia!.

Sprints fijos, entregables adaptables (I)

Cualquiera que nos haya seguido desde el inicio sabe que hemos cambiado de metodología varias veces. Unos lo llamarán Kaizen, otros lo llamarán “culo veo culo quiero”, otros lo llamarán “vagabundeos por la el mundo de la agilidad”. La cuestión es que empezamos con un SCRUM chapucero, evolucionamos a un Kanban de postal y ahora estamos con un ScrumBan del que nos podemos sentir bastante orgullosos.

El tamaño del sprint también ha sufrido alguna que otra modificación. Empezamos, como mandan los cánones, haciendo sprints de 2 semanas (casi tan difíciles de estimar como de implementar), el resultado, por novatos, fue tan malo que nuestra evolución por reacción nos llevo al lado contrario, “¿un sprint largo? ¡no!, mejor”, fuera sprints y viva el despliegue continuo. El despliegue continuo (también llamado bug continuo por aquellos tiempos), funcionó mientras teníamos una aplicación beta en un puñado de tiendas alrededor de nuestro apartamento de Bogotá. En cuanto nuestra red de tiendas y nuestra exigencia aumentó volvimos a los sprints, esta vez largos, de 2 meses, dada la gran dificultad para actualizar todas y cada una de las tiendas a mano y volvimos, por tanto, a Scrum pero con un toque de Kanban: Scrumban.

Pronto nos dimos cuenta de que el entorno real en el que se ejecutaba nuestra aplicación no era comparable al de nuestra oficina, ni a nada que pudiéramos reproducir en ella, así que seleccionamos una tienda como beta tester y decidimos instalarle antes las versiones que producíamos. Concretamente decidimos dividir nuestro sprint de dos meses en tres mini-sprints de 3 semanas e instalar la versión resultante de cada uno de esos mini-sprints en la tienda de nuestro compañero Boris para que él nos diera feedback temprano.

El resultado ha sido que las primeras historias que se implementan en el sprint no tienen que esperar dos meses para llegar a una tienda de verdad, sólo 3 semanas, de forma que detectamos los errores antes y los corregimos antes, además de que repartimos los tests exhaustivos pre-release durante todo el sprint en lugar de acumularlos todos al final y mantenemos la tensión (la buena, se entiende) del equipo de forma constante. No hemos, no obstante, modificado la estructura del sprint, que se planifica para dos meses, es decir, no hacemos planficación, demo y retrospectiva en cada uno de los mini-sprints, sino sólo en el sprint principal. Los mini-sprints nos marcan los hitos en los que es necesario alimentar a nuestro beta-tester para ir cazando errores complicados, (para los fáciles tenemos el TDD, los test de integración y demás) que de otra manera se macerarían durante unas cuantas semanas provocando una infección de las buenas al final del sprint.

Así llevamos varios meses y varios meses nos quedan por delante. Hasta que llegue un momento en el que el ritmo de añadir funcionalidad a TiendaTek disminuya, la necesidad de nuevas versiones también y todos nuestros esfuerzos pasen a un entorno mucho más amigable y actualizable como es la web, entonces… ¿qué haremos?

Carta abierta a una historia de usuario

Estimada Historia de Usuario:

Empezamos mal. Tú y yo sabemos que de estimada nada de nada. Algo de cariño, cierta relación amor-odio, un respeto mutuo inquebrantable… eso sí. Pero de estimarte en Frogtek poco o nada.

Es posible que los gurús del agilismo no comprendan nuestra relación, demasiado liberal quizá, poco comprometida dirán. Me llamarán poco ortodoxo, hereje y hasta libertino. Pero es lo que hay, en Frogtek no te estimamos. Y no me refiero a tus tareas internas o a tus detalles más íntimos, me refiero en general, al objeto que centra la atención de cada uno de nuestros programadores cada día por un periodo indeterminado de entre media hora a cinco días.

Sé que te preguntas qué me has hecho, porqué cuando todas las empresas ágiles debaten interminablemente cual es la mejor manera de estimar una historia de usuario, yo te pago con el desprecio. Ellos te asignan puntos, te dedican tiempo, algunos hasta te compran ropa y tú disfrutas del momento orgullosa, coqueta, probándote las distintas tallas. Y yo nada, pasas discretamente por mi tabla, sin grandes entradas, sin protagonismo, sin que hablen los programadores demasiado de ti hasta que no te llevan al huerto. Aquí te pillo, aquí te mato. Y la salida es peor, si te visto no me acuerdo.  En el fondo no sé de qué te extrañas, todas sois similares y a largo plazo me parecéis todas idénticas. Además mis sprints son largos, así que es mejor para los dos mantener las distancias, es que no sólo sois todas iguales, es que encima sois muchas. Dirás que tengo miedo al compromiso, que para llevar dos años en esto de agilismo soy uno inmaduro, que soy caprichoso e infiel, que soy, en definitiva, un cerdo sólo interesado en coleccionar una historia de usuario tras otra, una muesca más en mi revólver… y algo de razón no te falta.

Hubo un tiempo en el que te estimé, lo sabes. Y no funcionó. Era una relación demasiado absorbente, suponía demasiada dedicación, horas y horas hablando de ti, alimentando tu ego cuando tan sólo habíamos empezado a conocernos y nada sabíamos el uno del otro… me agobié. Lo intenté y fue mal, te estimé y tú siempre te quejabas, te sentías, a veces, sobre-estimada, otras, las más, era todo lo contrario. Así que ya ves, para hacerlo mal, mejor no lo hacemos. Además en Aragón siempre hemos sido más de guiñote.

Ahora me va mejor. Soy más feliz y estoy centrado en lo que realmente me gusta. Os trato a todas por igual y al final del sprint he tenido tiempo para todas vosotras que esperáis desde el principio de cada sprint, para muchas otras que vienen sin avisar y para mi mismo, sin comerme la cabeza. Quizá algún día estime una historia de usuario, quizá algún día le vea el valor a una relación más estable, profunda y comprometida, pero de momento… esto es lo que hay.

Siempre podemos ser amigos.

Atentamente,  Frogtek.

Tres días con Biko2

Hace tres semanas  volví muy contento y con muchas cosas que contar de mis tres días por tierras pamplonicas en compañía de mis colegas de biko2. Tras unas semanas caóticas me voy a relatar lo bien que me lo pasé.

Os dejo una preciosa foto del Moncayo que hice al ir por la autovía


Llegue a sus oficinas, después de que Jon me recogiera en la estación y lo primero que hicimos fue ver al gran equipo anteriormente conocido como “Equipo de Movilidad” ;). Iván, Miguel, Susana y Patricia, peazo equipo con el que he tenido la oportunidad de trabajar estos días. Yo iba con bastante miedo y pensando en si realmente podría atender las necesidades del equipo. Tras unos correos con Jon intentando organizar un poco, pensamos que sería mejor no organizar nada y hacerlo lo más ágil posible, así fue.

Los temas que tratar fueron saliendo fácilmente sobre la marcha. Por una lado el equipo tenia sus propias inquietudes y por otro fuimos estudiando las aplicaciones que ya habían desarrollado y viendo qué posibles temas mejorar. De este modo pudimos crear una agenda que hicimos open al resto de la empresa. Así cualquier empleado podría venir a las sesiones que le resultasen más interesantes. Salieron temas como testing, eficiencia, persistencia de datos… todo ello en torno a Android.

Por otro lado, con el equipo trabajamos las notificaciones push en Android, que para mí también era novedad. No fue fácil, al final y tras algunas horas conseguimos hacerlo funcionar. 😉

Mientras tanto, yo me intentaba empapar lo máximo posible de su metodología, acudí a algún stand-up meeting y me apunte muchas ideas/mejoras que luego conté al equipo de Frogtek en nuestra retrospectiva. Grandes conversaciones con Jon, Rubén, Mario… en las que aprendí mucho y también comí muy bien.

Y por supuesto, también nuestra pizarra con las tareas.

Al final de los tres días en biko también hicimos retrospectiva con Rubén e hicimos balance de los tres días. Como resultado negativo salieron todos los cabezazos que nos dimos con las notificaciones push… lo más importante es que al final lo conseguimos.

En resumen: confío mucho en este tipo de colaboraciones y me encantó no tener una agenda definida ni tener temas a tratar de antemano. Teníamos dos misiones : Aprender lo máximo y ayudar lo máximo. Creo que cumplimos con la misión.

Desde aquí mi agradecimiento al equipo de biko2 que me recibió extraordinariamente y me trato mejor aún. Esta semana tenemos a Rubén por frogtek, vamos a trabajar para que se lleve un buen recuerdo.

Antiguas entradas Recientes entradas