Development Team: Equipo de desarrollo en Scrum

 

Esta semana continuamos con los roles del equipo Scrum, en esta ocasión con el equipo de desarrollo.

Muchas empresas han cambiado las metodologías en cascada por las ágiles para sus desarrollos software, en particular, muchas de ellas usan el marco de trabajo Scrum con mayor o menor fidelidad.

Si bien hay mucho contenido sobre cómo seguirlo, o de si es mejor una metodología u otra, o de cómo ser Scrum Master o Product Owner, hay más dificultades para encontrar opiniones desde el punto de vista del desarrollador.

¿Qué es el Development Team?

Cuando se habla del equipo de desarrollo se refiere a un conjunto de personas con habilidades técnicas que de manera conjunta desarrollan el producto del proyecto.

Este equipo se concibe bajo el concepto de “Diferentes personas con un mismo propósito”, tienen un objetivo en común y comparten la responsabilidad del trabajo que realizan, sumado la calidad del proyecto en cada iteración.

Características del equipo de desarrollo Scrum

Autónomo y multidisciplinar

Este marco de trabajo ágil 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, esto generaría esperas y retrasos en la entrega de valor (necesidad de coordinación, integración e incluso falta de ownership), con lo cual solo 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 equipo 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 equipo puede incluir a desarrolladores, UX, Ops, Data, … Y, por supuesto, al Product Owner y al Scrum Master.

5 a 9 Personas por equipo

Para cumplir con el término ágil en este marco de trabajo, es necesario que se cumpla esta característica. Menos de 5 personas, puede causar que cualquier imprevisto o inconveniente sobre un miembro puede comprometer seriamente el desarrollo del proyecto.

Si el equipo sobrepasa las 9 personas, se corre el riesgo de que la comunicación y colaboración se haga más difícil para todos los miembros, pudiéndose formar subgrupos no alineados con los objetivos del sprint.

Sin embargo, de cualquier manera, se puede hacer Scrum con 3 personas y se ha utilizado en proyectos con 250 personas en varios equipos.

Cuando es necesario que más de un equipo trabaje de manera ágil en un mismo proyecto, existen diferentes técnicas que permiten esta colaboración, desde la escalabilidad de equipos o Scrum de Scrums, hasta equipos de integración que dedican parte de su tiempo a trabajar con los equipos de desarrollo, siempre completando incrementos de producto de manera regular, con el resultado integrado de los diferentes equipos.

Estable y dedicado

Los equipos de alto rendimiento son difícil de construir y es cuestión de tiempo lograrlo, por lo tanto, es necesario trabajar en iniciativas estratégicas que logren perdurar en cada iteración.

Estas iniciativas comienzan por lograr un equipo  bien configurado, donde cada profesional se complemente con el otro, para llegar a este punto es necesario que el equipo se mantenga en la misma configuración para evitar retrasos, ya que un cambio de integrante puede traer consecuencias en el rendimiento del sprint.

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.

Auto-organización, responsabilidades compartidas y pensamiento de equipo

Para crear sinergias en el trabajo el equipo se auto-organiza de tal manera que cada integrante escoge sus actividades, abriendo paso a la autoreflexión para mejorar su backlog.

La manera de conseguir esto se basa en compartir información y que los miembros del equipo 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, deben decidir cómo va a realizar el trabajo de seleccionar los requisitos, identificar las tareas y estimar el esfuerzo necesario donde 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.

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 oficina, 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).

En el caso de equipos remotos, que no trabajen en la misma ciudad, es conveniente garantizar un tiempo de calidad cara a cara, como mínimo 1-2 semanas para el inception inicial del proyecto e integración “social” de los miembros del equipo.

Conclusión

El equipo de desarrollo en Scrum es una pieza fundamental en este marco de trabajo ágil, ellos son los que harán realidad el proyecto y deben estar sincronizados para aportar el mayor valor durante cada sprint.

En InGenio Learning tenemos un curso de educación continua, en el cual podrás adquirir los conocimientos necesarios para optar por la certificación

24 mayo, 2019
Instituto de Educación Superior dedicado a la investigación y desarrollo de experiencias de aprendizaje significativo intensivas en uso de Tecnología.

Send this to a friend