Equipo de desarrollo (Development Team)

agile_transformation_roles_developers.pngEl equipo en Agile incluye al Cliente / Product Owner y al Facilitador / Scrum Master. Cuando se habla específicamente de “equipo de desarrollo” se refiere al conjunto de personas más “técnicas” que de manera conjunta desarrollan el producto del proyecto. Tienen un objetivo común, comparten la responsabilidad del trabajo que realizan (así como de su calidad) en cada iteración y en el proyecto.

Para ir alcanzando un estado de alto rendimiento, este equipo es:

  • Autónomo y multidisciplinar.
    • Agile se basa en ir desarrollando un producto “tangible” de forma iterativa para obtener feedback en intervalos cortos de tiempo sobre si el producto genera en el cliente el resultado esperado. Para ello, idealmente el equipo no debe depender de otros pues generaría esperas y retrasos en la entrega de valor (necesidad de coordinación, integración e incluso falta de ownership), con lo cual sólo se puede hacer con equipos multidisciplinares y autónomos del resto de la organización. De este modo:
      • Los miembros del equipo disponen de las habilidades necesarias para poder identificar y ejecutar todas las tareas que permiten proporcionar al cliente los requisitos previstos en la iteración.
      • Tienen que depender lo mínimo de personas externas al equipo, de manera que no se ponga en peligro la previsión del trabajo a revisar al final de cada iteración.
      • Se crea una sinergia que permite que el resultado sea más rico al nutrirse de las diferentes experiencias, conocimientos y habilidades de todos, “colaboración creativa”.

El equipo de desarrollo ágil en ocasiones es llamado Squad al englobar, con una visión más amplia, cualquier skill o rol necesario para incluir toda la cadena de valor dentro del equipo, de modo que todos sus miembros están guiados por el mismo propósito, conocen al cliente, el dominio y definen conjuntamente problema a solucionar. En función de las necesidades para desarrollar el producto, el Squad puede incluir a desarrolladores, UX, Ops, Data, … y, por supuesto, al Product Owner y al Scrum Master.

  • Tamaño de equipo de 5 a 9 personas.
    • Para ser ágil, el tamaño del equipo está entre 5 y 9 personas.
      • Por debajo de 5 personas cualquier imprevisto o interrupción sobre un miembro del equipo puede comprometer seriamente la previsión de objetivos a mostrar al cliente / Product Owner al finalizar la iteración.
      • Por encima de 9 personas, la comunicación y colaboración real entre todos los miembros se hace más difícil y se acaban formando subgrupos, donde todo el mundo no está interesado por los mismos objetivos del Sprint (ver los requisitos de Scrum).
    • De cualquier manera, se puede trabajar en Scrum con 3 personas y se ha utilizado en proyectos con centenares de personas, agrupadas en varios equipos. Cuando es necesario que más de un equipo trabaje de manera ágil en un mismo producto/proyecto, existen diferentes técnicas que permiten esta colaboración (sincronización regular entre Product Owners; Scrum de Scrums entre miembros de los equipos; ajustes de las reuniones de Scrum para hacer algunas más generales/comunes y poder gestionar dependencias conjuntas [como si se tratase de un fractal de reuniones, ver LESS], siempre completando incrementos de producto de manera regular. De cualquier modo, hay que recordar que el objetivo final es conseguir que cada equipo sea el máximo de independiente de los otros para realmente poder ágiles.
  • Estable y dedicado.
    • Los equipos ágiles trabajan en iniciativas estratégicas (que se mantienen en el tiempo) o bien van repitiendo tipos de proyectos similares (van ajustando su misión como equipo). Un equipo de alto rendimiento cuesta tiempo conseguirlo (y después hay que aprovechar esa performance), es un activo fundamental para la empresa y su building block básico, con lo cual prevalecerá el interés por mantenerlo por encima de desmantelarlo.
    • Dado que el equipo debe ser estable, sus miembros deben cambiar lo mínimo posible, para poder aprovechar el esfuerzo que les ha costado construir sus relaciones interpersonales, engranarse y establecer su organización del trabajo.
    • Los miembros del equipo están dedicados a tiempo completo a esa iniciativa o proyecto, para evitar dañar su productividad por cambios de tareas en diferentes proyectos, para evitar interrupciones externas, para trabajar todos en las mismas prioridades y así poder mantener la previsión de lo que se podría entregar en cada iteración.

 

  • Se auto-organizan y piensan juntos:
    • Para crear sinergias con qué conseguir un resultado mejor en menos tiempo, en términos de valor para cliente.
    • Para mejorar su proceso de trabajo y el sistema que les rodea, reflexionando regularmente (por ejemplo haciendo Retrospectivas) e introduciendo acciones de mejora en su backlog de tareas a realizar.
    • La manera de conseguir esto se basa en compartir información y que sus miembros confíen entre ellos. Para ello, realiza de manera conjunta las siguientes actividades:
      • Seleccionar los requisitos que prevén completar en una iteración, de forma que estén preparados para ser entregados al cliente.
      • Estimar la complejidad de cada requisito en la lista de requisitos priorizada del producto o proyecto.
      • En la reunión de planificación de la iteración, decidir cómo va a realizar su trabajo:
        • Seleccionar los requisitos que pueden completar en cada iteración, realizando al cliente las preguntas necesarias.
        • Identificar todas las tareas necesarias para completar cada requisito.
        • Estimar el esfuerzo necesario para realizar cada tarea.
        • Cada miembro del equipo se autoasigna a las tareas.
      • Durante la iteración, trabajar de manera conjunta para conseguir los objetivos de la iteración. Cada especialista lidera el trabajo en su área y el resto colaboran si es necesario para poder completar un requisito.
      • Al finalizar la iteración:
        • Demostrar al cliente los requisitos completados en cada iteración.
        • Hacer una retrospectiva la final de cada iteración para mejorar de forma continua su manera de trabajar.

 

  • Están motivados.
    • Las personas motivadas hacen cosas increíbles y, por otro lado, un equipo no motivado difícilmente desarrollará un gran producto o estará comprometido con proporcionar un gran servicio (lo cual lleva a clientes / usuarios finales a los que se mejora su vida y están más contentos, que es lo que necesita la empresa).

 

  • Están sentados juntos.
    • Todos los miembros del equipo trabajan en la misma localización física, para poder maximizar la comunicación entre ellos mediante conversaciones cara a cara, diagramas en pizarras blancas, etc.
      • De esta manera se minimizan otros canales de comunicación menos eficientes, que hacen que las tareas se transformen en un “pasa pelota” o que hacen perder el tiempo en el establecimiento de la comunicación (como cuando se llama repetidas veces por teléfono cuando la persona no está en su puesto).
      • Notar que una distancia de 3-5 metros entre miembros de un equipo puede llegar a ser una barrera demasiado alta para favorecer una relación realmente ágil entre ellos, encontrar soluciones juntos rápidamente y resolver impedimentos. Es decir, a partir de esa distancia (o si las personas están en otros pisos o edificios de una ciudad) los efectos pueden ser bastante contraproducentes, equivalentes a tener un equipo distribuido.
    • En el casos de equipos remotos, que no trabajen en la misma ciudad, es conveniente garantizar un tiempo de calidad cara a cara, como mínimo:

 

  • Interaccionan con Stakeholders.
    • Este equipo interacciona frecuentemente con los Stakeholders para compartir conocimiento de negocio, alinear prioridades y medir los resultados del valor entregado al cliente.

Para saber más

Otros roles

 

Ilustraciones: Vanesa Tejada