Equipos Scrum y el riesgo de que un miembro se enferme

Scrum sugiere equipos pequeños hasta donde yo sé. Esto significa que a menudo tenemos un solo desarrollador frontend, un solo desarrollador backend, un solo ingeniero de control de calidad, etc.

¿No afecta negativamente el éxito del proyecto? Si, por ejemplo, un desarrollador de back-end se enferma, ¿qué debemos hacer como gerente? ¿Debe un cliente pagar por nuestro trabajo como antes, a pesar de que no podemos producir tanto valor como cuando todo el equipo trabajaba en conjunto? ¿Cómo debe consignarse esta situación en un documento de contrato?

¿Qué hace actualmente si alguien está enfermo durante una semana o dos... o deja de fumar por completo? Incluso si tiene 100 personas en un rol determinado, ¿alguno de ellos es realmente "sobrante" o tiene una capacidad de 100 personas?

Respuestas (5)

La parte de scrum es irrelevante para las preguntas específicas que se hacen.

  1. ¿Afecta negativamente el éxito del proyecto? Ciertamente podría. La pérdida de un miembro del equipo puede afectar tanto la duración del trabajo como la calidad del trabajo si esa persona aportó una experiencia que no puede ser reemplazada por los miembros restantes. Cuanto más pequeño sea su equipo, más probable es que tenga un efecto adverso. No es un impacto cierto y finito lo más probable sino grados de impacto.
  2. ...entonces, ¿qué debe hacer un gerente? Perder a un miembro del equipo es un riesgo normal para cada proyecto que se haya emprendido, en progreso o en el futuro. Es un riesgo que el gestor ya debería haber identificado y mitigado. Esto significa que el administrador debe, en función de la pérdida y el impacto esperado, tener un plan B en marcha. Este problema se resuelve prospectivamente o el gerente no hizo su trabajo.
  3. ...pagar por nuestro trabajo...? Depende de los términos y condiciones de su contrato y de lo que pueda entregar. Si su capacidad para producir algo cesa, obviamente su cliente no debería pagar nada sin importar su contrato.
  4. ...establecido en el contrato. Nunca he visto que se diga "enfermedad" en un proyecto per se. Sin embargo, los T&C cubrirán el desempeño, la calidad, el tiempo, los entregables, etc. Si la persona desaparecida afecta esas cosas, entonces los T&C del contrato deben indicar qué sucede.

Hay conceptos erróneos sobre Scrum y el tamaño de los equipos. El primer error común que he visto es que Scrum exige equipos pequeños, específicamente un Equipo de Desarrollo de entre 3 y 9 personas. Scrum contiene varios conceptos que son inmutables: "roles, eventos, artefactos y reglas", y cambiar estos conceptos básicos daría como resultado algo que no es Scrum. Las afirmaciones de que "menos de tres miembros del Equipo de Desarrollo" y "tener más de nueve miembros" se refieren a los rangos en los que se ha visto que Scrum es más óptimo. No significa que Scrum no se pueda usar con un Equipo de Desarrollo de una o dos o diez u once personas, sino con equipos menores de tres o mayores de nueve,

La característica clave de un Equipo de Desarrollo es que son multifuncionales y tienen "todas las habilidades como equipo necesarias para crear un Incremento de producto". Además, Scrum no reconoce títulos o sub-equipos entre los miembros del Equipo de Desarrollo. Tener un "desarrollador frontend", un "desarrollador backend", un "ingeniero de control de calidad", etc., es reconocer títulos entre los miembros. Considere que alguien puede tener experiencia en un dominio o habilidad en particular, pero el equipo debe esforzarse por distribuir el conocimiento y la capacidad de trabajo entre todos los miembros del equipo.

En una situación en la que el equipo depende de una sola persona para proporcionar conocimientos y habilidades particulares para entregar, eso es algo que debe identificarse como un riesgo del proyecto. Como con cualquier riesgo, se puede evitar, reducir, compartir o retener. El riesgo se puede evitar aumentando el tamaño del equipo para duplicar las habilidades clave o no asumir un trabajo que sea demasiado arriesgado. Se puede reducir implementando el intercambio de conocimientos, y los Sprints más cortos también pueden reducir la posibilidad de que ocurran eventos inesperados en la caja de tiempo. Se puede retener aceptando el riesgo tal como es y avanzando.

¿No es 3 - 9 miembros una de las "reglas" definidas en la Guía Scrum ?
@PatrickMcElhaney, la forma en que está redactado en la guía no es estricto "debe tener entre 3 y 9 miembros", es más una recomendación fuerte. (Originalmente exageré esto en mi respuesta).
@PatrickMcElhaney No, la Guía Scrum solo habla sobre el tamaño óptimo del equipo. Hay buenas razones para ello, principalmente basadas en la experiencia. Es una de esas cosas que funciona para la mayoría de las personas la mayor parte del tiempo.
Sigo pensando que es engañoso llamarlo un "concepto erróneo". Las pautas están ahí por una razón. Scrum es “difícil de dominar”. Las personas que son propensas a conceptos erróneos (es decir, aquellas que no tienen poca o ninguna experiencia con los roles, eventos, artefactos y reglas) pueden beneficiarse del lenguaje prescriptivo. Bajo la supervisión de un médico, puede ser seguro tomar una dosis más grande o más pequeña que la que está escrita en la caja. Incluso en ese momento, es probable que su médico le indique que comience con la dosis recomendada.
@PatrickMcElhaney No es engañoso. Mucha gente cree que Scrum exige o requiere un tamaño de equipo de desarrollo de 3-9. Algunos incluso llegan a decir que si tu equipo es más pequeño o más grande que esto, no puedes llamar Scrum a lo que haces. Ese es un concepto erróneo ya que Scrum solo recomienda el tamaño del equipo y no exige uno.

Scrum no sugiere ciegamente "equipos pequeños" sin calificación y definitivamente no aboga por tener un equipo tan pequeño que un miembro enfermo signifique que el trabajo no puede progresar. La guía de Scrum dice (énfasis mío):

El tamaño óptimo del equipo de desarrollo es lo suficientemente pequeño para seguir siendo ágil y lo suficientemente grande para completar un trabajo significativo dentro de un Sprint. Menos de tres miembros del equipo de desarrollo disminuyen la interacción y dan como resultado menores ganancias de productividad. Los Equipos de Desarrollo más pequeños pueden encontrar limitaciones de habilidades durante el Sprint, lo que hace que el Equipo de Desarrollo no pueda entregar un Incremento potencialmente liberable. Tener más de nueve miembros requiere demasiada coordinación. Los Grandes Equipos de Desarrollo generan demasiada complejidad para que un proceso empírico sea útil.

En el escenario de su pregunta de tener solo 3 miembros del equipo de desarrollo, estaría en el equipo de tamaño más bajo que recomienda Scrum. Hay varias formas de reducir los riesgos que usted describe de que un miembro del equipo no esté disponible, las más obvias serían

  1. Miembros del equipo de habilidades cruzadas
  2. Aumentar el tamaño del equipo

¿No afecta negativamente el éxito del proyecto? De ninguna manera eso no se aplicaría si no estuvieras haciendo Scrum y tuvieras cuellos de botella en las personas.

Si, por ejemplo, un desarrollador de back-end se enferma, ¿qué debemos hacer como gerente? A corto plazo, discuta con el equipo qué es lo más valioso que pueden hacer sin que ese miembro esté presente. A largo plazo, trabaje con el equipo para eliminar este cuello de botella.

¿Debe un cliente pagar por nuestro trabajo como antes, a pesar de que no podemos producir tanto valor como cuando todo el equipo trabajaba en conjunto? - Si no puede producir tanto valor usando Scrum como cuando usa una metodología diferente, entonces adopte esa otra metodología o mejore la forma en que está haciendo Scrum.

¿Cómo debe constar esta situación en un documento contractual? - No esperaría que un documento de contrato entre en el nivel de detalle de discutir lo que sucede cuando un miembro del equipo está enfermo.

Como ya lo etiquetó, es (en parte) una pregunta sobre Gestión de riesgos, por lo que abordaré esa parte, ya que la parte de Scrum se ha abordado en las otras buenas respuestas.

Obviamente, si decide tener equipos pequeños, el factor de riesgo de que un solo miembro del equipo no pueda trabajar es alto.

Esto se abordaría en su análisis de riesgos. Es decir, qué tan alto es el riesgo y qué planea hacer para mitigarlo. Si esto se agrega al contrato es una pregunta para su equipo legal.

Como regla general, generalmente rellenamos el cronograma teniendo en cuenta alrededor del 20% para licencia por enfermedad y vacaciones. Algo más que eso, o que el miembro del equipo no esté disponible permanentemente, probablemente caiga bajo la cláusula de fuerza mayor, implícita o explícita en los contratos.

En conclusión: nunca desea una situación en la que un solo miembro del equipo no esté disponible durante más de unos pocos días pueda poner en peligro el proyecto. Necesita algún plan de contingencia como tener un "aprendiz de todo el comercio" disponible para hacerse cargo en caso de emergencia.

Me imagino que esto tiene un precio en el contrato, aunque probablemente no se mencione explícitamente.

Mezclar DevOps con Scrum ayuda aquí, lo que significa combinar responsabilidades entre desarrolladores y operaciones para un mayor aprendizaje y eficiencia. He visto muchos proyectos retrasados ​​esperando que un equipo externo (ya menudo menos motivado) tome una acción simple. A menudo, esas acciones administrativas se llevan a cabo con un equipo externo, como los DBA, por costumbre o silos, por lo que trasladarlas al equipo es de gran ayuda (recomiendo el libro Phoenix Project, que habla de esto, así como de CI/CD).

Esto funciona especialmente bien si puede contratar o hacer crecer "desarrolladores de pila completa". Cuando sea razonable, los conjuntos de habilidades deben superponerse. Por ejemplo, si bien su recurso de interfaz de usuario puede comprender completamente los puntos finos de accesibilidad, usabilidad y estilo, si se enferman, un desarrollador debería poder retomar. Mover operaciones como la base de datos o la configuración del entorno al equipo reducirá aún más su riesgo.

Las pruebas de integración automatizadas (idealmente combinadas con la entrega continua) también son muy útiles aquí. Si se hace correctamente, un desarrollador puede escribirlos o al menos mantenerlos si tiene una persona de control de calidad dedicada y se enferma. Otro enfoque es transferir esa responsabilidad a los desarrolladores, aunque las personas tienen fuertes sentimientos a favor y en contra (por ejemplo, que las pruebas de control de calidad son un conjunto de habilidades específicas que no todos pueden hacer).