Soy un líder técnico empleado en una organización de TI ágil donde la mayoría de los equipos observan Scrum.
Llevo 2 semanas en la tarea de crear una prueba de concepto de un servicio que es bastante grande y complejo (varios meses-hombre) y soy el único recurso FTE dedicado al proyecto. Mientras esperamos que el proveedor nos brinde detalles, comencé a realizar algunas actividades de diligencia debida técnica y asignar requisitos a nuestras capacidades, asignar nuestros casos de uso a características, etc., etc. y fuera de este proceso he logrado para generar una lista de dependencias que deben resolverse (algunos requisitos previos, algunos diferibles) entre otros artefactos. Mi trabajo no está demasiado estructurado todavía.
Mi gerente (vicepresidente y PO suplente) parece tener algunos problemas con esto.
Las cosas no van muy bien y están tensas en el proyecto. Necesito encontrar una forma de controlar las cosas que aborde los "problemas" mencionados anteriormente en esta etapa inicial, pero lo que es más importante, un proceso para usar a medida que el proyecto aumenta en las etapas de construcción y evaluación donde las cosas estarán ocupadas y habrá no hay tiempo para la ingeniería de procesos.
Si fuera una tarea pequeña y trivial, probablemente la haría , pero este es un proyecto bastante complejo con muchas incógnitas. ¿Qué metodologías (ágiles) debo seguir? Algunas notas.
Como mencioné en el comentario anterior, usted y su gerente/PO suplente deben ponerse de acuerdo sobre los resultados de esta PoC. Debe definir los objetivos de la implementación o podría arriesgarse a trabajar hacia diferentes objetivos. También discuta cuál será el papel de cada uno en esto. De la pregunta parece que usted quiere que él sea un PO, mientras que él quiere que usted se involucre más con las partes interesadas.
Habiendo dicho eso, personalmente no iría con Scrum para administrar la construcción de un PoC. Esta es la reacción instintiva de todos al elegir un enfoque Agile para crear software, pero no creo que sea necesariamente la mejor opción aquí por varias razones.
Scrum establece algunas cosas y reglas para hacerlo bien desde el principio, creando así una buena estructura dentro de la cual los equipos pueden construir su propio proceso de trabajo. Pero esta estructura puede crear una sobrecarga cuando tiene un equipo pequeño o es el único empleado de tiempo completo que trabaja en el proyecto.
Scrum es lo suficientemente flexible para la mayoría de los trabajos, pero también tiene una parte rígida: el sprint. Esto establece la cadencia para muchas actividades. Muchas partes interesadas interactúan con un equipo Scrum durante la reunión de revisión, es decir, una vez por sprint. Está construyendo un PoC, un experimento de factibilidad, para validar algo. ¿Es suficiente recopilar comentarios una vez por sprint o necesita comentarios antes?
También tienes una Reunión de Retrospectiva. Usas esto para mejorar tu forma de trabajar. ¿Es esto importante cuando se construye el PoC? ¿O es solo el PoC que le interesa? No estoy diciendo necesariamente que debas ir al estilo vaquero y disparar desde la cadera, pero ¿realmente quieres invertir mucho en el proceso? ¿Este PoC será un desperdicio una vez que valide/invalide la idea, o creará la aplicación real encima? Por ejemplo, ¿necesita una definición de Listo? ¿Desea que esta prueba de concepto se considere un éxito solo si se revisó cada línea de código o si tiene una buena cobertura de pruebas unitarias? ¿Sí? ¿No? Si el PoC es un éxito y logra implementar la aplicación real más adelante, entonces puede concentrarse en su proceso. Con un PoC del tipo "saca la cosa lo más rápido posible" probablemente no
Scrum también tiene una reunión de planificación de Sprint. Estimas qué trabajo puedes incluir en el próximo Sprint. Estableces un objetivo de sprint. Creas un incremento liberable en cada sprint. Intenta mantener el alcance sin cambios durante el sprint. ¿Tiene esto sentido para el trabajo que está haciendo? Un PoC es una solución mínima viable. Menos y no lo ayudará a validar/invalidar sus suposiciones. Más y ya no es solo un PoC. ¿Estarán los incrementos en una condición liberable? Si descubre algo que cambia completamente su ámbito de trabajo para el sprint, ¿qué hará con el sprint? ¿Cancelalo? ¿Cumplir con el objetivo de Sprint? Si planificas tu sprint y al día siguiente te das cuenta de que necesitas hacer algo diferente, simplemente perdiste el tiempo planificando y podrías haber trabajado en la implementación de PoC.
¿Necesita hacer un refinamiento de backlog? ¿Está tomando forma su PoC a medida que la construye, o ya extrajo los elementos mínimos que deben ser parte de la PoC? Aparecerán algunas cosas nuevas, algunas cambiarán, algunas ya no serán necesarias, pero eso sucederá debido a lo que descubra durante la implementación, o será porque tiene una "razón comercial" para agregar, cambiar o eliminar elementos de la cartera de pedidos?
Podría pensar en otras razones, pero esto ya se está haciendo largo. Entonces, ¿qué tal una alternativa a Scrum?
Yo personalmente manejaría esto usando Kanban.
Pon todo en un tablero para tener visibilidad de lo que estás haciendo. Hacer Kanban mantendrá a todos más comprometidos. La interacción ocurre más a menudo, no en una cadencia de Sprint.
Establezca límites WIP en las cosas para que no trabaje en demasiadas cosas a la vez. Los límites WIP también resaltarán los bloqueos y los cuellos de botella y permitirán un tiempo de respuesta más rápido para eliminarlos y mantener el flujo de trabajo en movimiento.
En lugar de estimar cada tarea, solo concéntrese en lo que es importante, dónde se encuentra, qué está haciendo, dónde debe estar a continuación. Muchas de las cosas en su tablero serán obligatorias, de lo contrario, el PoC no cumplirá su propósito. No tiene sentido estimarlos, es un desperdicio. Estima cuándo también lo necesitas (como decidir entre dos opciones y elegir la más rápida, así estimas el esfuerzo para saber qué elegir).
Párese frente al tablero Kanban y planifique su trabajo todos los días, no una vez por sprint. Ajuste el rumbo según sea necesario.
Al ser algo con lo que estoy familiarizado, me inclino a usar alguna forma ligera de scrum para obtener los beneficios habituales, pero tal vez sin algunos de los "gastos generales" de las ceremonias.
Comience con Kanban y agregue encima cualquier práctica de Scrum que encuentre útil, lo que creo que funcionaría mejor que Comenzar con Scrum y cortar cosas de él.
No entiendo por qué empezaste a pensar en Scrum aquí. O cualquier otro proceso de equipo . No necesitas coordinación ni reuniones ni nada. Pasa estos 3 meses haciendo lo que importa. Un científico/ingeniero típico primero pasaría tiempo tratando de comprender el problema, luego planearía cómo abordarlo y luego se arremangaría, así que:
Solo cuando empieces a formar un equipo tendrás que pensar en cómo coordinar y comunicar el trabajo.
Bogdán
shalomb
Stanislav Bashkirtsev