Los equipos pueden protestar, pero la planificación ágil de la capacidad ofrece formas de aumentar la velocidad y la productividad.
Por Isaac Sacolick
Original de IDGN
El Manifiesto Ágil valora a “los individuos y las interacciones sobre los procesos y las herramientas”. Uno de los principios clave de los firmantes es:
“Las mejores arquitecturas, requisitos y diseños surgen de equipos autoorganizados”.
Estoy de acuerdo con estos principios, pero soy pragmático acerca de:
- Cómo deberían ser estos equipos autoorganizados en la práctica
- Y cuánta autoridad para tomar decisiones ayuda a los equipos a lograr sus mejores resultados
Por ejemplo, empoderar a un equipo para que seleccione su arquitectura y diseño ideales puede optimizar el rendimiento del equipo pero, 20 equipos que gestionan arquitecturas independientes son muy problemáticos para la organización.
También creo que los procesos y las herramientas deben amplificar a los individuos y las interacciones.
La captura del estado del trabajo pendiente, la categorización de las historias de los usuarios según los estándares y la documentación de las arquitecturas ayudan tanto a mejorar la forma en que los equipos interactúan como a reducir el tiempo de las personas en las reuniones.
Los equipos autoorganizados necesitan planificación ágil de capacidad
Un área a la que muchos equipos ágiles son reacios es la planificación ágil de la capacidad.
La planificación de la capacidad significa diferentes cosas para diferentes personas, por lo que solicitar un análisis de la capacidad o planificar las brechas de habilidades requiere contexto.
Además, las prácticas de planificación de la capacidad se desarrollaron a partir de disciplinas de gestión de programas e ingeniería de sistemas que algunos ven como prácticas anti-ágiles.
El desafío es que las necesidades de muchos equipos ágiles como personas, tecnologías y asociaciones, requieren proyecciones a futuro debido al tiempo necesario para adquirir, incorporar e integrar.
Los líderes deben ver la planificación ágil de la capacidad como una oportunidad para:
- Mejorar la productividad
- Evitar la frustración
- Obtener apoyo para las inversiones de Devops
- Y reducir tanto los bloqueos como las barreras a sus objetivos
Otras veces, los equipos ágiles deben asociarse con las partes interesadas del negocio y brindar visibilidad a sus próximos entregables.
La planificación de la capacidad es parte de esta ecuación porque puede afectar la velocidad y la productividad de los equipos. Si bien la adición de desarrolladores, el aumento de los recursos del sistema o la instrumentación de cambios en los procesos pueden no aumentar los resultados del equipo a corto plazo, estas cosas pueden proporcionar flexibilidades en un plazo mayor.
Diferentes contextos y análisis son parte de la planificación agil de la capacidad.
Aquí hay algunas preguntas que los equipos ágiles deben colaborar para responder.
1. ¿Cuánto trabajo puede completar el equipo en este sprint?
Los equipos que practican scrum tienen como objetivo comprometerse con lo que pueden hacer durante el sprint y se esfuerzan por mantener una velocidad constante o creciente.
Los equipos de Kanban tienen un flujo de trabajo más fluido, pero sus partes interesadas aún quieren comprender el pronóstico del equipo sobre las historias, solicitudes y tareas de los usuarios.
El primer nivel de planificación de la capacidad se realiza a nivel de team y ayuda a los equipos ágiles a responder cuánto trabajo pueden terminar en un sprint o en un intervalo de tiempo breve.
Los equipos ágiles basados en datos estiman su trabajo y, a menudo, usan puntos de la historia como una medida agregada de la complejidad y el esfuerzo del trabajo.
La velocidad del equipo es el total de puntos de la historia del trabajo completado en un sprint, y esta métrica ayuda a los equipos a medir cuánto trabajo pueden comprometerse de manera confiable al comienzo del mismo.
Los equipos aprovechan los informes del trabajo pendiente en el sprint para realizar un seguimiento de su progreso, y los maestros de scrum ayudan a resolver los bloqueos que impiden el progreso del equipo.
2. ¿Cuántas funciones puede programar el grupo?
Estimar y medir la velocidad ayuda a los equipos a brindar resultados confiables en cada sprint, pero los propietarios de productos y los líderes comerciales también quieren pronósticos de qué características y capacidades se desarrollarán e implementarán en las próximas versiones.
Quieren saber la capacidad del equipo para lograr todas las características y capacidades priorizadas en la cartera de pedidos.
Los equipos ágiles necesitan más que una planificación justo a tiempo para pronosticar lanzamientos.
Un enfoque es usar una planificación ágil continua para estimar múltiples sprints de backlog y usar esta estimación para debatir las prioridades y el alcance.
Las grandes organizaciones que adoptan Scaled Agile Framework (SAFe) utilizan la planificación de incrementos de programa para:
- Revisar la capacidad
- Planificar sprints
- Y comprender las dependencias del equipo
Estos pronósticos de planificación y mapeo de rutas dependen de que los equipos calculen y mantengan una velocidad constante.
El sprint y la planificación a corto plazo son componentes importantes para los equipos que buscan colaborar con los líderes empresariales en la planificación ágil de la capacidad.
3. ¿Cuántas personas se necesitan?
La previsión de sprints y lanzamientos son enfoques tácticos ascendentes para la previsión, la planificación y el cumplimiento de las prioridades empresariales.
Pero muchas organizaciones, a menudo, operan de arriba hacia abajo, con objetivos estratégicos identificados y líderes que hacen preguntas como:
- ¿Qué habilidades y cuántas personas se requieren para alcanzar los objetivos estratégicos del negocio?
- ¿Cuál es el cronograma previsto para completar el alcance de trabajo objetivo?
- ¿Cómo pueden las inversiones adicionales en aprendizaje, personas, asociaciones o tecnología acelerar la línea de tiempo?
- ¿Cuáles son los riesgos para el cronograma y qué pasos puede priorizar el equipo para mitigar los riesgos de alta probabilidad y alto impacto?
- ¿Qué costos están asociados con diferentes escenarios de planificación?
Muchos equipos ágiles con los que he trabajado a lo largo de los años se estremecen ante estas preguntas porque son inherentemente no ágiles.
Reunir a las personas en una sala para resolver estos problemas, desarrollar hojas de cálculo de pronóstico y producir escenarios de planificación desconectados de las realidades del desarrollo diario y el trabajo operativo puede parecer una pérdida de tiempo.
Pero tenga en cuenta que es a través de esta planificación que se toman las decisiones comerciales sobre inversiones y prioridades.
Es mejor saber con anticipación que los encargados de tomar decisiones revisarán:
- Agregar un equipo
- Duplicar la cantidad de personas con habilidades técnicas específicas
- Seleccionar socios de implementación o aumentar el alcance de un programa para abordar la deuda técnica.
4. ¿Qué capacidad de sistemas se requiere?
La planificación estratégica a menudo se centra en las finanzas, las personas, las habilidades y los plazos.
La planificación ágil de la capacidad de los sistemas se centra en la infraestructura necesaria para desarrollar, probar, organizar e implementar nuevas capacidades.
Algunas preguntas sobre la capacidad de los sistemas incluyen:
- ¿Cómo puede aumentar el tamaño de los entornos de prueba para disminuir el tiempo necesario para ejecutar pruebas automatizadas?
- ¿Cuántos entornos de desarrollo nuevos se necesitan cuando el equipo planea aumentar la cantidad de personas que desarrollan software?
- ¿Deberían las operaciones escalar la infraestructura o revisar la arquitectura debido al creciente uso de aplicaciones o al aumento del rendimiento de datos? ¿Algún componente tecnológico llegará al final de su vida útil o requerirá actualizaciones importantes en el corto plazo?
- ¿Los cambios en las regulaciones o el cumplimiento requerirán actualizaciones de aplicaciones o cambios en la arquitectura?
Responder a estas preguntas suele ser responsabilidad de los equipos de operaciones de TI o de arquitectura empresarial porque todas son áreas que afectan las prioridades de desarrollo.
Los equipos ágiles también tienen la experiencia necesaria para evaluar las estimaciones de desarrollo, las dependencias y las opciones de implementación.
5. ¿Qué tecnologías, cambios de procesos o asociaciones pueden mejorar la productividad?
La planificación estratégica y la planificación de la capacidad de los sistemas a menudo se llevan a cabo de arriba hacia abajo por departamentos como:
- La oficina de gestión de programas
- Operaciones de TI
- Arquitectura empresarial
- Seguridad de la información
- Gestión de riesgos y otros.
Pero los equipos de desarrollo ágil proactivos y las organizaciones devops cambiarán las tornas y se convertirán en voces activas en estos diálogos.
Los líderes empresariales quieren saber qué:
- Aumentará la velocidad del equipo
- Mejorará la productividad
- Facilitará el cumplimiento de los plazos
- Abordará las brechas de calidad
- O aumentará la frecuencia de implementación
Aproveche la capacidad de planificación para formular la “pregunta” del equipo sobre lo que se necesita para tener más éxito y articular los beneficios de las inversiones.
Por ejemplo, la automatización de CI/CD (integración continua y entrega continua) e IaC (infraestructura como código) mejoran la confiabilidad de las implementaciones y también son pasos clave para aumentar la frecuencia de implementación.
Vincular estas inversiones a los objetivos comerciales ayuda a alinear a los líderes comerciales sobre por qué y cuándo priorizar las prácticas de DevOps.
La próxima vez que los líderes empresariales y de TI programen una reunión de planificación estratégica y deseen analizar la capacidad, piense en lo que los desarrolladores deben cumplir con las prioridades comerciales y aborde las brechas de capacidad.
La planificación ágil de la capacidad puede ser beneficiosa para los equipos que desean madurar las disciplinas de planificación y estimación, pronosticar las brechas de capacidad y priorizar sus recomendaciones.