Recientemente me uní a un pequeño equipo de desarrollo de software que tiene 1 producto con varios clientes externos. No se utiliza una metodología o un marco de gestión de proyectos específicos, por lo que el desarrollo es más bien ad-hoc. Por lo que entiendo, existe un desafío continuo en el sentido de que ha habido un patrón en el que cada versión expone errores que no se detectaron durante el desarrollo y luego se debe revertir la versión para corregir los errores antes de volver a emitir la versión. Como resultado, el equipo desconfía de sus propios lanzamientos y los retrasa para evitar este dolor.
Actualmente, no hay una persona dedicada a control de calidad o pruebas, pero creo que no es necesariamente un problema crítico, ya que si bien sería ideal tener un probador principal, los equipos ágiles deberían esforzarse por ser multifuncionales. Sin embargo, los desarrolladores han estado probando y aprobando su propio código (lo sé...)
Quiero crear una lista priorizada de prácticas de calidad que deberían implementarse para mejorar esta situación. En orden de prioridad, ¿cuáles son las prácticas de calidad más importantes a abordar? ¿Puede dar una lista prioritaria de lo que abordaría primero?
Lo más inmediato en mi mente es:
¿Qué implementarías como una prioridad?
Trataré de plantear varios puntos en algunos departamentos separados en el orden en que los abordaría. Dependiendo de los recursos y el apoyo que tenga, la situación de esfuerzo versus beneficio podría dictar un orden diferente.
Necesita especificaciones claras, completas, actuales y correctas. No importa cuántas personas estén involucradas en lograr que los requisitos de lenguaje comercial se conviertan en especificaciones de lenguaje de desarrollador. Importante es:
Cosas que pueden ayudar aquí:
Necesita pruebas confiables, repetibles y rigurosas. He trabajado como probador en un entorno que se centró exclusivamente en las pruebas manuales. Simplemente no es sostenible. A medida que su conjunto de características crece, las necesidades de prueba crecen exponencialmente. Si no automatizas al menos una parte, estás jodido.
Cosas que ayudan aquí:
Tu idea de introducir Retrospectivas es buena. Como Scrum Master, deberías estar haciendo eso (y Sprint Reviews) de todos modos. En la Retrospectiva, anime al equipo a hablar sobre problemas de calidad. Estoy seguro de que están tan frustrados por la mala calidad como tú. También tendrán ideas sobre lo que se debe hacer para solucionarlo. Extrae esas sugerencias y ayuda a implementarlas. Este enfoque tiene los siguientes beneficios:
Se unió recientemente mientras que el equipo de desarrollo ha estado allí por más tiempo. Sabrán más sobre la causa raíz de los problemas de calidad y qué se debe hacer para solucionarlos. Como la persona nueva, aportas una nueva perspectiva. Pero use eso para guiar la discusión para evitar señalar con el dedo y hacia líneas productivas.
Si trabaja con el equipo de desarrollo y ayuda a implementar sus ideas, habrá una mejor aceptación de las ideas y menos resistencia al cambio.
Como Scrum Master, desea ser un líder servidor en lugar de imponer sus ideas al equipo.