Llegamos a ustedes gracias a:



Columnas de opinión

5 principios de planificación para un desarrollo ágil

Por: Isaac Sacolick, presidente de StarCIO

[01/11/2019] Uno de los principios básicos del desarrollo ágil es producir software de trabajo al final de cada sprint. Los equipos logran esto definiendo criterios sólidos de aceptación de la historia del usuario, comprometiéndose con el sprint como equipo, automatizando las pruebas, demostrando los resultados del sprint, y madurando otras prácticas para garantizar que el código esté completo y listo para la producción.

Las organizaciones que adoptan prácticas de DevOps, incluidas las canalizaciones de CI/CD (integración continua/producción continua), desarrollan la automatización para mover código hacia los ambientes de prueba. Los equipos más avanzados implementan la implementación continua, donde mueven el código hacia la producción hacia final de cada sprint,o incluso más frecuentemente.

Pregunte a algunos de estos equipos qué producirán el próximo mes, o en los próximos lanzamientos, y muchos tendrán dificultades para responder la pregunta. Pregúnteles cómo se asegurarán de que sus prioridades afecten positivamente a los clientes y usuarios finales, y admitirán que tienen una comprensión, alcance y visibilidad limitados para responder adecuadamente a esa pregunta.

Luego considere preguntas más profundas:

  • ¿Con qué frecuencia una historia de usuario que parecía fácil de implementar condujo a múltiples historias ejecutadas en varios sprints?
  • ¿Cuál es el tiempo de ciclo para las nuevas funciones, medido desde el momento en que los propietarios de los productos las enumeran en el backlog de pedidos hasta que se producen completamente para los clientes?
  • ¿A medida que los equipos ofrecen nuevas capacidades, los equipos reinventan la rueda o los estándares evolucionan?
  • ¿Los equipos están bloqueados por actividades como la contratación, la mejora de la infraestructura, la capacitación y otras actividades que requieren tiempos de producción más largos que un sprint o dos para planificar y ejecutar?
  • ¿Con qué frecuencia los equipos de operaciones son sorprendidos por la programación, el alcance, las actividades o los riesgos del lanzamiento de una aplicación importante?

Si no conoce las respuestas a estas preguntas, o si se trata de problemas conocidos, es probable que su organización deba planificar más.

Los equipos de desarrollo ágiles han invertido significativamente en procesos técnicos y automatización para lograr que los lanzamientos de las aplicaciones sean más frecuentes y confiables. ¿Y qué hay de los pasos para garantizar que lo que se envía entrega valor de negocio?

Por qué es difícil planificar para los equipos ágiles

He hablado con muchos líderes ágiles sobre sus prácticas de planificación y si invierten tiempo en desarrollar backlogs con visión de futuro más allá del próximo sprint.

Algunos dirán que planificar múltiples sprints no es ágil. Su perspectiva es que la metodología ágil les permite a los propietarios y equipos de los productos escuchar los comentarios de los clientes, revisar los datos de comportamiento del usuario generados a través de la aplicación, y considerar otras señales para ajustar las prioridades al comienzo de cada sprint. Su perspectiva es "¿Por qué molestarse en planificar, si el equipo va a ajustar las prioridades de todos modos?.

Otros equipos desean planificar, pero no han desarrollado las prácticas y la colaboración para planificar de manera efectiva. Algunos luchan para que el propietario del producto les proporcione suficientes detalles sobre las prioridades futuras. Otros obtienen demasiadas prioridades del propietario de su producto. La mayoría tiene dificultades para que les proporcionen requisitos adecuadamente definidos, lo que hace que planificar sea difícil y probablemente costoso.

Lo único que escucho constantemente de los grupos, es que no se les da tiempo suficiente para planificar y que no tienen un proceso de planificación. Están sobrecargados con demasiadas funciones, historias de usuarios, deudas técnicas, mejoras operativas y otras prioridades de desarrollo. La planificación simplemente no es una prioridad.

Por qué las empresas necesitan planes a futuro

Las compañías e industrias maduras necesitan -y muchas requieren- planes y hojas de ruta hacia el futuro de sus equipos ágiles. La mayoría de las organizaciones los necesitan para planificar otras actividades de negocio vinculadas al lanzamiento de la aplicación. Para las compañías de software, esto podría incluir el desarrollo de materiales de marketing, la capacitación de equipos de ventas e informar a los clientes principales sobre las nuevas funciones. Asimismo, cada vez más empresas desarrollan aplicaciones para sus necesidades internas y las de los clientes; estas organizaciones también tienen que pensar en capacitar a los empleados y actualizar la atención al cliente con nuevas capacidades.

Los equipos ágiles también deben considerar las necesidades que requieren un mayor tiempo de producción. Por ejemplo, al introducir una nueva tecnología, los equipos de operaciones necesitarán tiempo para instalarla y configurarla en la nube o en el centro de datos. Si la organización necesita contratar empleados o incorporar nuevas personas de los proveedores de servicios, esto a menudo requiere planes que van mucho más allá del próximo sprint.

Resolver la paradoja de la planificación ágil

La planificación con equipos ágiles tiene varios principios que deben considerarse. Estos cinco son críticos:

  1. Las organizaciones necesitan una perspectiva orientada al futuro. Puede ser una declaración de visión, un plan estratégico u otra comunicación que establezca una dirección hacia lo que los clientes o usuarios necesitan y qué indicadores de rendimiento del negocio son objetivos. A diferencia de una verdadera guía, a medida que evolucionan las necesidades del cliente y del negocio, esta comunicación también debe ser ágil y actualizada de forma iterativa.
  2. Los equipos necesitan tiempo para planificar. La planificación no es gratuita. Por lo tanto, si la empresa valora o requiere planes prospectivos, los gerentes deben asignar tiempo para que los equipos hagan una lluvia de ideas, revisen datos, aprendan directamente de los clientes, inviertan en pruebas de conceptos y -semanas antes de priorizarse las historias reales- documenten historias de usuarios.
  3. Los equipos deben tener un proceso de planificación definido que se alinee con los principios ágiles y con las herramientas de backlog ágiles instaladas. Este proceso de planificación tiene que usar el tiempo de las personas de manera eficiente, con productos bien definidos y roles y responsabilidades establecidas. Las organizaciones también deberían considerar la planificación de estándares y determinar dónde los equipos pueden organizarse por sí mismos para abordar los detalles de su aplicación y tecnología.
  4. La planificación debe alinearse con los principales artefactos utilizados por los equipos de desarrollo ágiles, especialmente la calidad de los requisitos en las historias de los usuarios, los pasos para estimar las historias de los usuarios y si las historias se alinean con la tecnología, los datos, la seguridad, la experiencia del usuario y otros estándares. La planificación también debe alinearse con las necesidades operativas para darle soporte a la aplicación en los ambientes de producción.
  5. Las prácticas de planificación deben tener mecanismos para medir la efectividad y el impacto. ¿Los equipos están produciendo de acuerdo con el plan? ¿Están teniendo impacto comercial con los planes priorizados? ¿Están utilizando la información y los datos capturados después de un lanzamiento para reajustar las prácticas y prioridades?

Estos principios pueden conducir a una amplia gama de prácticas de planificación. Las organizaciones más grandes pueden optar por el proceso PI Planning de SAFe donde las actividades de planificación se programan durante una iteración de innovación y planificación. Las organizaciones ágiles deberían considerar la planificación ágil continua, donde los equipos se comprometen a planificar actividades en cada sprint, junto con el trabajo, para producir historias de usuarios. Algunas organizaciones también pueden buscar implementar la planificación mediante herramientas ágiles de gestión de productos y portafolio.

Es fácil perderse sin un plan

La fortaleza de las prácticas ágiles es que ayudan a los equipos a enfocarse en entregables bien definidos y a corto plazo. La debilidad es que es fácil para los equipos perderse en el viaje. Los equipos deben revisar su historial de producción a través de historias completas para evaluar su desempeño a mediano y largo plazo.

¿Los equipos indican lo que producirán y producirán lo que indican? ¿La producción tiene un impacto positivo en los clientes y usuarios finales? ¿Existen círculos de comunicación y retroalimentación para ayudar a priorizar los backlogs y refinar los requisitos?

Establecer prácticas ágiles de planificación puede ayudar a los equipos a abordar las carencias.

Isaac Sacolick es el autor de Driving Digital: The Leader's Guide to Business Transformation through Technology, que abarca muchas prácticas como la metodología ágil, devops y ciencia de datos, consideradas fundamentales para el éxito de los programas de transformación digital. Sacolick es un CIO social reconocido, un bloguero de vasta experiencia en Social, Agile and Transformation y CIO.com, también es presidente de StarCIO.