Intercambiando experiencias

martes, 14 de septiembre de 2010

Parte del valor agregado de la empresa es su preocupación (o mejor dicho ocupación) por ensayar cosas nuevas, siempre probando las ultimas tecnologías y metodologías.
Uno de los objetivos que nos impusimos para este año es abrir Tercer Planeta al mundo. Es decir, intentar dar a conocer más lo que ocurre acá adentro (las prácticas que utilizamos, los experimentos técnicos y los problemas con los que nos enfrentamos) y al mismo tiempo poder aprender de las experiencias de otros grupos de desarrollo. Para esto nos propusimos varios hilos de acción, entre ellos escribir mas seguido en este blog.
Otro hilo, el que nos ocupa en este post, fue armar un encuentro de intercambio de experiencias con el equipo de desarrollo de uno de nuestros clientes.
La idea en este primer encuentro fue juntarnos para que cada equipo presente dos temas que consideraba que era interesante mostrarle al otro. Después de una previa coordinación de temas y logística, encaramos el encuentro con la participación de todos los desarrolladores de cada equipo.

Desarrollo


El encuentro arrancó con un “check in” donde contamos los objetivos del encuentro. Luego cada uno se presentó, esto es importante para desarrollar cualquier charla pero en este caso también fue la oportunidad de conocer la cara detrás de los mails!
Después expusimos intercalando una presentación por equipo.
Nuestro equipo presentó dos temas:
  • Un Sprint en 3p: Armamos una presentación donde contamos las metodologías que aplicamos en un sprint de un proyecto. En la misma mostramos la implementación que hacemos de las reuniones diarias, la planificación, el desarrollo, el uso de los pizarrones, la demo y la retrospectiva entre otras prácticas aplicadas.
  • BackgroundWorker: el uso del control, ventajas y desventajas y los problemas con los que nos enfrentamos al implementarlo. Este control facilita el manejo de distintos hilos de ejecución (próximamente tendremos un artículo del blog que profundice sobre este control)
El otro equipo de desarrollo presentó:
  • Controles customizables: Una muestra de los nuevos controles DevExpress (para mas informacion ver http://www.devexpress.com/) que utilizan y las ventajas para el usuario que traen. Estos controles brindan la posibilidad de que el usuario les cambie los colores, los cambie de lugar, etc., guardando esta configuración para poder tener siempre la aplicación como cada usuario prefiere verla.
  • SpreadsheetGear: El uso de las nuevas clases de SpreadsheetGear (para mas informacion ver http://www.spreadsheetgear.com/) usada para generar reporte en Excel. También nos mostraron algunos agregados que hicieron a estas clases para poder resolver algunos pedidos de los reportes. 
  • Envío de mails: Formas de realizar el envío de mails desde una aplicación, los problemas con los que se encontraron y las configuraciones necesarias.
Todas las presentaciones contaron con momentos de debate y preguntas que sirvieron para enriquecer el intercambio. En esos momentos aprovechamos los conocimientos y experiencias de cada uno, que por suerte son muy diversos, para aportar a las presentaciones y hacer preguntas que ayuden a profundizar los temas planteados.
Al finalizar propusimos armar una retrospectiva en 3 columnas: Lo que me gusto de la charla, lo que me gustaría que pase en la próxima charla y lo que nos comprometemos a hacer para el próximo encuentro. La idea fue tomarnos diez minutos para pensar que cosas estuvieron buenas del encuentro y que cosas nos interesaría profundizar, por ejemplo: temas técnicos (como Silverlight o la velocidad en las páginas web) y otros relacionados con la dinámica de los encuentros. Al final votamos y pusimos objetivos puntuales para un próximo encuentro: proponer distintas metodologías que se pueden utilizar e intentar resolver entre todos algún problema técnico que tenga alguno de los dos equipos en un desarrollo.
En la retrospectiva tuvimos visiones bastante parecidas, varias de las cosas que salieron podríamos agruparlo en lo positivo que fue el conocer las metodologías de trabajo de cada equipo y, por otro lado, lo interesante de ver distintas miradas de un mismo problema.

Conclusión

Lo interesante del encuentro fue poder mostrar los problemas con los que nos enfrentamos y poder aprovechar las diferentes visiones para aportar soluciones.
Es muy interesante ver como trabajan los distintos equipos de desarrollo y como para un mismo problema se encuentran distintas soluciones.
Otro aspecto positivo de estos encuentros es que es muy motivante ya que ayuda a valorar el trabajo que uno hace cotidianamente y a ver otras cosas muy interesantes que uno en el trabajo del día a día no llega a poder profundizar.
También nos ayuda a conocernos más con el cliente y generar una relación de mayor confianza que mejora el trabajo diario.
Leer más...

Aprendiendo un poco más acerca de la Retrospectiva

lunes, 6 de septiembre de 2010

Recientemente leí el libro "Agile Retrospective" de Esther Derby y Lana Larsen. Me resultó interesante, sencillo de leer, lleno de conceptos claros y principalmente, con ideas y consejos para poner en práctica. Está fundamentalmente orientado hacia los que dirigen una retrospectiva, acercándoles herramientas y conocimiento para facilitar su labor.


Al libro lo podemos dividir en dos partes: la primera presenta las habilidades y consideraciones que tendría que tener aquella persona que lidere una retrospectiva; la segunda parte describe algunas actividades que se pueden llevar a cabo durante las diferentes etapas de una retrospectiva.

En este artículo dejo algunas anotaciones que me parecieron mas interesantes y útiles para remarcar, acerca de la primer parte.

Acerca de la retrospectiva

La retrospectiva es una reunión que se lleva a cabo cuando termina un hito (iteración, release, proyecto), en la cual participan los miembros del equipo. Su fin es lograr que los participantes hagan una revisión de lo que pasó, inspeccionen y adapten sus métodos de trabajo y su forma de trabajar como equipo para incrementar la calidad del producto y mejorar el trabajo y la calidad de vida de los miembros.
Algunos puntos importantes para remarcar acerca de esta reunión:
  • Tiene que aportar valor al equipo, así los participantes no piensan que es una pérdida de tiempo
  • Hay que definir su objetivo, para tener una meta a la cual llegar
  • Se tiene que establecer el tiempo de duración y respetarlo

Con respecto a quien lidere la retrospectiva, también citado como facilitador, se destaca:
  • Tiene que entender su rol y las funciones inherentes al mismo
  • Permanece neutral durante las discusiones
  • Maneja la dinámica del grupo, permitiendo que todos participen de igual forma
Acerca del equipo:

  • Identifican sus valores como equipo y los respetan
  • Establecen acuerdos de trabajo (reglas para la colaboración y la convivencia) y son responsables por hacer que todos los respeten
  • Entienden la importancia de su participación en pos de la mejora continua
  • Asumen un compromiso, al finalizar la retrospectiva, para cumplir con lo acordado






 

Estructura de una Retrospectiva

La retrospectiva puede dividirse en 5 fases o etapas:
  • Setear el estado
  • Recopilar datos
  • Profundizar
  • Decidir qué hacer
  • Finalizar la retrospectiva

Setear el estado.
En esta fase el facilitador le presenta al equipo el objetivo de la retrospectiva y la agenda para poner en conocimiento cómo van a invertir el tiempo.

La información que se recolecte lo ayudará a trabajar con el equipo en la elección de un objetivo apropiado. Lo que observe le dará las pistas acerca de qué preguntas hacer y qué problemas podría enfrentar el equipo.

Un objetivo útil ayuda a contestar la pregunta: "¿Cuál será el valor que se obtenga en el tiempo que dure la reunión?" proporcionando una razón para que las personas inviertan su tiempo en la reunión.
Si se define un objetivo amplio ayudará al equipo a que pueda reflexionar y pensar creativamente acerca de sus experiencias y descubrir los puntos de vista que sean importantes para los integrantes.

Evitar los objetivos que definan un resultado específico; por ejemplo, el objetivo "Determinar cómo persuadir a Recursos Humanos para eliminar las evaluaciones de desempeño", bloquea la consideración de otros canales de acción u otros problemas que el equipo esté enfrentando.

Algunos objetivos útiles:

  • Encontrar maneras de mejorar nuestras prácticas
  • Descubrir qué se hizo bien
  • Entender las razones detrás de los objetivos no alcanzados
  • Reconstruir relaciones dañadas
Se le puede solicitar al equipo que describa un objetivo.
En cuanto a la duración, es proporcional a la
cantidad de personas que participan de la retrospectiva y al tiempo transcurrido desde la retrospectiva anterior. Otros factores que influyen son:


  • Complejidad, en cuanto al entorno tecnológico, relaciones entre los miembros del equipo o con departamentos externos, organización del equipo
  • Nivel de conflicto o controversia (planear mas tiempo para tratar temas complicados)
Si el tiempo es extenso, guardar tiempo para recreos entre las distintas etapas de la retrospectiva. También estar atento, durante el desarrollo de la misma, si el equipo necesita descansar unos minutos.

Recopilar datos

Una vez que se conoce el objetivo, se crea una imagen compartida de lo que sucedió en el tiempo que se está evaluando, con esta imagen común, se puede evitar que los participantes analicen según sus propias opiniones y creencias.
Armar la información y eventos en forma visual, para que las personas vean fácilmente patrones y conexiones. Los hechos son una parte de la información, y la otra mitad son los sentimientos, las emociones, éstas dicen lo que es importante para las personas de los hechos y hablan acerca del equipo.

Profundizar

Ahora es el momento de preguntar "¿Por qué?" y comenzar a pensar acerca de soluciones para hacer de forma diferente. Es un momento en que el equipo piensa en conjunto.
Considerar posibilidades adicionales, no quedarse con la primer solución que aparece. Buscar las causas y efectos, y pensar más analíticamente.

Decidir qué hacer

Elegir algunas de las soluciones (2 o 3, no tienen que ser muchas) y planear qué hacer.
Muchas veces el equipo tiene una lista larga de mejoras pero esto puede ser contraproducente ya que tener demasiadas iniciativas pueden abrumar y entorpecer la habilidad para cambiar. El facilitador tiene que ayudar al equipo a elegir los ítems a los que pueden comprometerse y que tengan un efecto positivo.
Una forma de planear los experimentos y los cambios es crear historias o ítems para que puedan ser incluidos en el próximo plan de trabajo de la iteración. Esta es una forma en que se asegure que las personas se comprometan a ejecutar las tareas; sin un compromiso individual, las personas asumen que "el equipo" hará la tarea, y entonces nadie la hace.

Finalizar la retrospectiva

Al completar el plan de acción, terminar en forma clara la reunión. Decidir cómo documentar la experiencia y el plan a seguir.
Lo que se aprende le pertenece al equipo y a sus miembros. El equipo necesita adueñarse de las enseñanzas que consigue.
Antes de finalizar, tomarse unos minutos para evaluar la retrospectiva que se llevó a cabo (sería una retrospectiva de la retrospectiva).

Beneficios de esta estructura

  • Entender los diferentes puntos de vista
  • Seguir un orden natural de pensamiento
  • Tomar una visión comprensiva de los métodos del equipo y sus prácticas
  • Permite que las discusiones vayan adonde se necesita
  • Queda una acción concreta y experimentos para realizar en la próxima iteración.




Dirigiendo Retrospectivas


No se necesita ser un facilitador experto para liderar una retrospectiva, pero sí necesita contar con algunas habilidades básicas. Estas habilidades se pueden aprender, para lo cual es necesario primero entender el rol, practicar y buscar feedback para ir haciendo los cambios necesarios.

Un facilitador de retrospectiva tiene como principal responsabilidad dirigir el proceso, es decir gestionar las actividades, la dinámica de grupo y el tiempo. Él permanecerá neutral durante las discusiones, aún si tiene opiniones firmes o si son temas que le preocupan, ya que si se involucra en las discusiones perderá total atención al proceso.

Los participantes se focalizan en el contenido, discusiones, desacuerdos (pero no desagradables) y toman decisiones; apuntan a un objetivo y manejan sus propios pensamientos, sentimientos y respuestas así contribuyen positivamente a las conversaciones y al resultado.

Si el facilitador, durante la retrospectiva, considera que tiene algo importante que ofrecer, puede contribuir en la discusión, pero antes debe ceder su rol a otro miembro. Una vez ofrecido su aporte, recuperará su rol.

Actividades

En cada una de las fases se puede realizar alguna actividad para crear acuerdos de trabajo, construir una línea de eventos en el tiempo, hacer una lluvia de ideas o priorización, entre otras . Las actividades ayudan al equipo a pensar en conjunto. Será necesario introducir y explicar cada actividad, monitorear su desarrollo y sacar conclusiones al finalizarla.
Puede ser de mucha utilidad armar un guión de la actividad y practicar las instrucciones para recordar qué decir. Tener presente, que como líder de la retrospectiva, es responsable de contestar todas las preguntas acerca de la actividad y monitorearla, centrándose en el nivel de ruido del grupo, mientras trabaja, para tener una pista si las personas necesitan mas tiempo o ya finalizaron.
El sacar conclusiones de cada actividad ayudará al equipo a examinar su experiencia y extraer diferentes puntos de vista.

Manejar la Dinámica del grupo

Está relacionado con la participación de las personas durante la reunión, asegurándose que las personas que tienen algo que decir tengan la oportunidad de decirlo y asegurarse que quien tiene demasiado para decir no domine la reunión.
Otra faceta tiene que ver con estar atento al lenguaje que utilizan los participantes de la retrospectiva. Si éste tiende a culpar a otros, como sucede con el "lenguaje de vos" ("Vos rompiste el build") y con las "etiquetas" ("Vos sos inmaduro"), ésto derivará en que algunos integrantes comiencen a estar a la defensiva. Estas actitudes hieren la retrospectiva, distrayendo la atención de los problemas reales.
El facilitador tiene como función fomentar el lenguaje "Yo", este lenguaje se centra en la experiencia y observación de la persona que habla, en lugar de etiquetar a las otras personas. Al escuchar culpas o críticas, el facilitador tiene que intervenir y redireccionar la discusión.
Otro punto importante en la dinámica de grupo está relacionado con la interacción y las emociones de los miembros del equipo. A pesar que el facilitador no es responsable de las emociones de otras personas, es responsable por mantener una reunión productiva. Esto significa que tiene que estar preparado para manejar situaciones e interacciones emocionales.
En la retrospectiva, lo primordial es la interacción del equipo como un todo, no de individualidades. Esto no significa que se tengan que ignorar las emociones individuales, al contrario, significa tratar con emociones en una forma que sea de ayuda y respeto al equipo y al individuo.
Manejar el tiempo
El facilitador de una retrospectiva tiene que responder a las necesidades del grupo y prestar atención al tiempo para respetar el tiempo fijo, presentado en la agenda de la retrospectiva, en la fase Setear el estado.
Si una discusión, al cumplirse el tiempo estipulado, aún no finalizó y sigue en su punto alto, el facilitador le preguntará al grupo qué desea hacer: continuar con la discusión o seguir a la siguiente fase o actividad. Ésta decisión queda en manos del equipo, no del facilitador. Generalmente, la respuesta es clara para todos; cuando no lo es, se propone limitar la discusión en curso a un tiempo fijo o revisarla luego o en otra retrospectiva.
Dado que el facilitador tiene como responsabilidad que se llegue al objetivo de la retrospectiva (identificar y planear experimentos y mejoras), tiene que estar preparado con actividades extra de diferente duración, en caso que se requiera cambiar por una mas corta.

Manejar al facilitador

Además de manejar las actividades, la dinámica del grupo y el tiempo, cada facilitador tiene que poder manejarse a él mismo.
Estar atento a la dinámica de equipo e interpersonal puede resultar abrumador. No existe una técnica para manejar la dinámica del grupo (aunque sirve tener algunas estrategias). La clave radica en entender y manejar su propio estado emocional y sus respuestas, para poder mantenerse centrado en su responsabilidad.
Cuando las emociones están en un nivel alto, el equipo necesita a alguien que esté fuera de la confusión; esa persona es el facilitador de la retrospectiva. Por lo tanto, tiene que mantener la calma y la claridad durante toda la reunión. Él mismo sabrá si necesita unos minutos de descanso para recobrar su serenidad o para oxigenarse y, de esta forma, pensar con claridad y bajar la ansiedad y tensión. Así, una vez que logre re-centrarse, podrá utilizar alguna estrategia para manejar al grupo y cumplir con su responsabilidad. Tiene que tener siempre presente que no es quien causa las emociones y no es responsable por hacer que todos estén felices y bien.
Es muy práctico que cada facilitador encuentre un tutor, en quien confie y a quien haya visto manejar las emociones en un grupo. Él lo ayudará a ganar confianza y aprender mas opciones para manejar situaciones emocionales. También le brindará el feedback que necesita para mejorar sus habilidades como facilitador.

Opinión personal

Después de haber estado en varias retrospectivas de diferentes equipos, como observadora o participante, leer el libro me ayudó a valorar la importancia del facilitador y de entender la dinámica del grupo. Si bien en las retrospectivas no había una persona que desempeñara ese rol, creo que todos los que participamos nos hicimos responsables de hacer cumplir sus funciones, como si ello fuera nuestro "acuerdo de trabajo" implícito.
El libro me parece de gran interés para aquellos que participan de retrospectiva, no solo para los que actúen de facilitadores. Creo que es útil para entender un poco mas acerca del concepto y de la filosofía detrás de la retrospectiva, y además acerca de la dinámica de la misma y de sus participantes y como cada uno, desde su lugar, puede aportar para darle a la retrospectiva la importancia que tiene.


Leer más...