He escuchado que se menciona el enjambre en el contexto de la programación ágil o extrema. Parece ser un complemento para el emparejamiento.
¿Qué es exactamente? ¿Cuándo se debe aplicar? ¿Cómo lo haces bien?
agile
terminology
Jay Bazuzi
fuente
fuente
Respuestas:
La idea es que todos en su equipo trabajen en la misma historia al mismo tiempo. En lugar de que todos se centren en diferentes tareas, todos se centran en una tarea a la vez hasta que se complete. Luego pasan a lo siguiente, donde todos trabajan juntos en ello.
Esto ayuda a los equipos que luchan para completar historias antes del final del sprint. A menudo, los equipos terminan el 80% de todas las historias, pero ninguna está completa. Esto es menos útil que terminar completamente el 80% de las historias, ya que las historias no terminadas (efectivamente) no tienen ningún valor para el usuario final. Es más fácil completar las historias cuando todos en el equipo se centran en una historia a la vez. Esta es la motivación detrás del enjambre.
Hay algunas dificultades aquí. Por ejemplo, el control de calidad no siempre puede probar cosas antes de que se construyan (o incluso se diseñen). En este caso, debe establecer un diseño juntos desde el principio, y luego el control de calidad puede escribir pruebas (inicialmente fallidas) contra el diseño y no la implementación real.
fuente
El enjambre solo se refiere al hecho de que varias personas trabajan juntas para completar una tarea o historia. En mi experiencia, esto no es algo que haces a menudo.
Por lo general, cada miembro de mi equipo trabaja en una tarea diferente y / o una historia diferente. Si alguien se está quedando atrás, o si hay un deseo de terminar una tarea o historia antes, otras personas dejarán de trabajar en otras tareas y "enjambrarán" para completar la tarea, lo que significa que todos trabajan juntos en una sola tarea o historia hasta que esta completado.
Recientemente tuvimos una pequeña cantidad de historias que fueron un trabajo bastante aburrido y poco interesante. Le di al equipo un pequeño incentivo (pizza) y una fecha límite (al final del día) para terminar el trabajo, por lo que se apiñaron en la historia y eliminaron al menos un par de días de trabajo en una tarde. Terminaron el trabajo y salieron temprano, luego cada miembro del equipo volvió a lo que sea que estuvieran trabajando. Consiguieron un almuerzo gratis, terminé el trabajo temprano que podría haberse prolongado debido a su naturaleza aburrida, y el equipo se adelantó a su carrera. Ganar ganar ganar.
"Enjambre" no es más que un término elegante para "oye, déjanos ayudarte con eso".
fuente
El enjambre es en realidad un concepto central para la agilidad. No es algo que se hace "cuando hay problemas". El enjambre, en su forma más simple, significa que los equipos trabajan en colaboración en artículos (historias) y los trabajan hasta su finalización. El concepto central es "dejar de comenzar y comenzar a terminar". En otras palabras, en lugar de que cada desarrollador trabaje de manera independiente en una historia, el equipo se enfoca en un conjunto más limitado de historias / tareas juntas y hace que cada elemento se realice antes. Piense en ello como la diferencia entre un sistema de un solo subproceso y un subproceso múltiple. Si una historia de usuario tiene 10 tareas que deben hacerse, y cada una es de 8 horas, suponiendo que no haya complicaciones, un desarrollador podría trabajar cada tarea secuencialmente y completar la historia en 80 horas, o aproximadamente dos semanas (dado 10 días de sprint de 8 horas de desarrollo por día). ¿Qué pasa si dos desarrolladores dividen las tareas y las trabajan simultáneamente? Las mismas 80 horas de trabajo se pueden completar de esta manera en una semana. Agregue un tercero, y puede ver que ahora se puede hacer en 3 a 4 días.
El enjambre se puede hacer de varias maneras:
Los equipos que cuentan una historia a cada desarrollador tienden a tener demasiado "trabajo en progreso" o WIP, y a menudo muchas historias comienzan pero no se hacen. Este es un ANTI-PATRÓN, y NO son las mejores prácticas.
Los equipos que pululan tienden a tener menos WIP y completar más historias, y al terminar, me refiero a Desarrollado, Probado, Aprobado, listo para desplegar. Por lo tanto, esta es una práctica que es el núcleo de la agilidad.
fuente
El siguiente artículo sobre InfoQ describe un enfoque para el enjambre:
Lea el artículo para la explicación detallada.
fuente