Los equipos ágiles más eficientes son grupos pequeños y hábiles de 5 a 7 personas con un conjunto de aptitudes variadas pero coincidentes. Esta estructura permite que el equipo entable relaciones estrechas y de confianza que sirvan para aprovechar las distintas habilidades y aceleren la capacidad del equipo para entregar el trabajo, pero, a veces, el conjunto de aptitudes necesarias para realizar un proyecto no entra en las capacidades colectivas del equipo.
Aquí es cuando el especialista en metodologías ágiles aparece en escena.
Generalistas y especialistas
Las personas con las que trabajamos se suelen dividir en estas dos categorías: generalistas y especialistas. ¿En qué se diferencian?
- Generalista: Persona con conocimientos amplios que puede trabajar en áreas distintas.
- Especialista: Persona que tiene grandes conocimientos únicos en un área de interés concreta.
Hay muchas metodologías ágiles que defienden que todos los miembros del equipo deben ser generalistas (para obtener más información, lee nuestro artículo sobre equipos ágiles). Sin embargo, en ocasiones lo razonable es que el equipo solicite la ayuda de un especialista por los motivos siguientes:
- No resulta necesario tener un conjunto de aptitudes concreto en el equipo a tiempo completo.
- La empresa tiene un número limitado de personas con un conjunto de aptitudes concreto, que se reparten entre los equipos.
- Se necesita una autorización específica para trabajar en un área a la que el equipo general no puede acceder.
En caso de ser así, parece conveniente que un especialista se una al equipo durante un tiempo determinado, pero incorporarlo conlleva algunas dificultades.
Reconocer las dificultades asociadas a los especialistas
Puesto que los especialistas solo permanecen con el equipo durante un tiempo determinado, puede que se conviertan rápidamente en una "ruta crítica", lo que, a veces, obstruye el avance de todo el grupo. Por ejemplo, si un equipo depende de un administrador de bases de datos para realizar cambios en la base de datos y desplegar código nuevo, el administrador está bloqueando el progreso del equipo. Cuando este último no puede avanzar porque necesita la aportación de ese especialista, se detiene el flujo de trabajo. El especialista es el único del equipo que posee las habilidades, así que al equipo no le queda otra opción que esperar a que los desbloquee.
Los especialistas experimentan multitud de cambios de contexto: se bajan de un proyecto y se suben en otro. Y alternar entre proyectos es costoso. Casi nunca tienen un conocimiento del proyecto tan detallado como los miembros del equipo principal. En consecuencia, pueden perderse datos importantes. Para solucionarlo, el equipo principal debe esforzarse más por mantener informado al especialista.
Consejos para trabajar con especialistas
Veamos tres sugerencias para limitar los escollos de trabajar con un especialista.
1. Definir con claridad qué se necesita del especialista
Una vez asumida la necesidad de implicar a un especialista, dedica un tiempo a pensar cuáles son tus necesidades exactas. Determina el tipo de trabajo y el nivel de conocimientos necesarios. De este modo, tendrás la certeza de que el equipo consigue al especialista adecuado y que ese especialista emplea el tiempo suficiente con el equipo para realizar un trabajo satisfactorio. Si no se tiene una visión realista del tiempo y las habilidades que se le exigen a un especialista, tanto tu equipo como él estarán abocados al fracaso.
2. Transmitir los conocimientos del especialista al equipo principal
Los equipos ágiles consisten en conjuntos de aptitudes coincidentes. Cuando un especialista trabaje con un equipo, dispón tiempo para que dé formación al equipo principal en la medida de lo posible, a fin de que el conocimiento que aporte no se pierda por completo cuando se vaya. Maneras efectivas de hacerlo:
- Programación en pareja: Dos o más miembros del equipo trabajan juntos en tiempo real y en un área concreta del proyecto. Todos ellos pueden hacer preguntas y participar en la labor.
- Revisión del código: Un miembro del equipo principal revisará el trabajo realizado por el especialista para comprender todos los cambios. Las revisiones del código se centran más en el por qué que en el cómo, por lo que son menos eficaces para la formación que la programación en pareja.
- Almuerzos: sesiones informales donde los especialistas comparten sus conocimientos con un grupo de personas. Es una forma eficiente de formar a todo el equipo.
El objetivo es conseguir que el equipo sea más autónomo. La transmisión de conocimientos le dará al equipo más contexto para gestionar áreas que antes pertenecían al especialista, y reducirá su dependencia para con el especialista en el futuro.
3. Minimizar la necesidad constante de recurrir al especialista
A medida que los especialistas reducen su compromiso con el equipo, es importante definir acuerdos de nivel de servicio entre el equipo y los especialistas. Determina cuándo o bajo qué circunstancias el equipo puede volver a necesitar un especialista. Crear guías de ayuda que describan situaciones habituales del área del especialista puede hacer que el equipo adquiera un mayor control de su propio destino al resolver solos sus dificultades.
En Atlassian, nos centramos en transmitir los conjuntos de aptitudes a los generalistas. Por ejemplo, para sacar el diseño de la categoría “especialista”, hemos creado formas tangibles para que los desarrolladores y propietarios de productos desarrollen sus habilidades de diseño. Si quieres más información, consulta nuestro artículo sobre diseño ágil.