miércoles, 25 de noviembre de 2009

Reuniones Diarias

... o como aprendimos a desarmar una caja negra

Uno de los temas más importantes en empresas de tecnología es como lograr la conexión entre el área comercial (contacto con el público) y el área de desarrollo (los constructores de la tecnología). Si esta conexión no se logra, siempre tendras problemas del tipo "eso no se puede vender" o "mercadeo pide cosas sin sentido".

Xtreme Programming ofrece una de las herramientas más poderosas que he visto para lograr esta conexión; las reuniones diarias. La disciplina que requiere poder llevarlas a cabo se vé recompensada por la fluidez en la comunicación y la alineación que se logra.



La mecánica es muy sencilla: todos los días se realiza una reunión con una duración no mayor a 15 minutos dónde se ven las caras gente de gestión comercial y gente del área de desarrollo. Para ser exitosas, estas reuniones requieren cumplir rigurosamente con ciertas reglas. Nosotros ya tenemos casi un año utilizandolas, y hemos desarrollado estas reglas básicas:

  1. Las reuniones se llevan a cabo a la misma hora y en el mismo sitio TODOS los dias. La hora que escogimos es las 11.45 y el sitio es la oficina de Caracas, y el skype para las personas remotas.
  2. Cada persona del área de desarrolla se limita a responder tres preguntas:

    • Qué hice desde la última reunión?
    • Qué voy a hacer hoy?
    • Qué problemas tuve?

  3. Los obstáculos se enumeran, pero no se trata de resolverlos en la reunión. A menos que sea realmente algo trivial, se determina quién puede ayudar y se crea un compromiso para solucionarlos.
  4. Las referencias a lo que se está haciendo están basadas a Trackers específicos. Los trackers definen claramente un User Story o una tarea realizada.
  5. Se lleva una minuta que se publica en la wiki minutos despues de terminada la reunión. La minuta tiene una forma muy sencilla:



Estas reuniones requieren full constancia y disciplina; todos los días se debe estar pendiente para que se cumplan estas sencillas reglas. El peor enemigo de estas reuniones es que se comiencen a relajar las reglas.

El objetivo primordial de estas reglas, es hacer que las reuniones sean rápidas y ligeras. De hecho, los puristas de XP recomiendan hacerlas de pie, para que fluyan más rápidamente. Si no se respeta la regla de los 15 minutos, las reuniones comienzan a ser cansonas y la gente las percibe como una perdida de tiempo, ocasionando que se deje de asistir.

Ahora bien, si el equipo las realiza los beneficios son muy grandes.

  1. En primer lugar se pierde el sentido de caja negra en lo que hacen los desarrolladores.
  2. Todo el equipo sabe exactamente en que están trabajando los demás.
  3. Se logra resolver problemas de comunicación que de otra manera se convertirían en pérdidas de tiempo y retrabajos.
  4. Se cuenta con un espacio claro para alinearnos, y comentar los problemas que podamos tener. Tambien permite que gestión comercial pueda entender las complejidades de ciertas tareas y cambiar las prioridades en caso de requerirlo.
  5. Sinergia entre los desarrolladores, ya que todos están al tanto de lo que está haciendo el otro

Realmente es una de las prácticas que más valoro de Extreme Programming, y una de las primeras que recomiendo implementar si se quiere mejorar el proceso de creación de valor en una empresa de tecnología.