Implementación de prácticas ágiles que escalan
Azure Boards | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2013
Enterprise las organizaciones adoptan prácticas ágiles por muchas razones. Entre las razones principales se incluyen las siguientes:
- Reducir el tiempo de comercialización y acelerar la entrega de productos
- Mejora de la eficacia de la organización para administrar prioridades cambiantes
- Mejora de la calidad del software y la predicción de entrega
- Mejora de la visibilidad del proyecto y reducción del riesgo del proyecto
A medida que crece su organización, querrá escalar sus prácticas para seguir siendo ágiles y cumplir los objetivos cambiantes. Para ello, tenga en cuenta estos dos principios rectores:
- ¿Qué aspecto tiene el éxito para usted, sus equipos y su organización? ¿Qué es lo que más le interesa: Entrega a tiempo? ¿Calidad del producto? ¿Previsibilidad? ¿Satisfacción del cliente?
- Vuelva a los primeros principios,vuelva a los principios y valores compartidos enumerados en el manifiesto de Agile, tal como lo indicó Ken Schwaber,uno de los creadores de Scrum:
- "Los valores y principios se escalan, pero las prácticas son contextuales".
- "Mantenga los valores, mantenga los principios, piense por sí mismo. Una de las principales instalaciones de Agile es que las personas que hacen el trabajo son las que mejor pueden averiguar cómo hacerlo".
Crear ritmo y flujo
Al adoptar una cadencia compartida y un conjunto de comunicaciones periódicas, se crea un flujo constante de actividad en toda la organización. Entre las prácticas que ayudan a crear ritmo y flujo dentro de organizaciones más grandes se incluyen:
- Cadencia compartida:los sprints y versiones normales establecen el ritmo de la empresa. Hacer que todos los equipos trabajen a una cadencia compartida ayuda con todas las actividades de coordinación y colaboración.
- Correos electrónicos de sprint:para mantener informada a la organización y a todos los equipos sobre el progreso y los planes de los equipos de características, cada equipo de características puede enviar por correo electrónico un resumen de los resultados de sprint anteriores y los planes de sprint actuales.
- Demostraciones de sprint:vídeo rápido (de 2 a 3 minutos) que muestra una nueva característica que ha producido el equipo. Los vínculos a estos vídeos se pueden incluir en los correos electrónicos de sprint.
- Presentación de reuniones:para informar a otros equipos y solicitar comentarios sobre el software en desarrollo, los equipos muestran el trabajo que han hecho. Realice estas reuniones a intervalos regulares a lo largo del ciclo de vida del proyecto y ábralas a todas las partes interesadas.
- Correos electrónicos de resumen de errores:para admitir información sobre la calidad del producto y fomentar el mantenimiento de la materia de errores, comparta periódicamente métricas de calidad con la organización. Estas métricas pueden incluir errores activos por equipo de características, tendencias de errores y errores por ingeniero.
- Reuniones de coordinación:se mantienen reuniones que coordinan los equipos a intervalos regulares o con la frecuencia necesaria para abordar los objetivos, dependencias y riesgos superpuestos.
Interacción con los clientes
La participación de los clientes a lo largo de todo el ciclo de vida del producto es un principio ágil fundamental. Capacitar a cada equipo para que interactúe directamente con los clientes en los conjuntos de características que poseen.
- Comentarios continuos:cree bucles de comentarios de los clientes. Estos bucles pueden tener muchas formas:
- Voz del cliente:facilita a los clientes la entrega de comentarios, la adición de ideas y la votación de características de próxima generación. La entrega de comentarios se realiza a menudo a través de un sitio web dedicado.
- Comentarios del producto:los botones de comentarios en el producto son otra manera de solicitar comentarios sobre la experiencia del producto o características específicas.
- Demostraciones de clientes:las demostraciones programadas periódicamente que solicitan comentarios de los clientes pueden ayudar a dar forma a los productos de próxima generación y a mantener el seguimiento de las aplicaciones que los clientes quieren consumir.
- Programas de adopción temprana:estos programas deben desarrollarse con la idea de que es posible que todos los equipos quieran participar como punto. Los usuarios de adopción temprana obtienen acceso a las primeras versiones del software de trabajo, que luego pueden proporcionar comentarios. A menudo, estos programas funcionan mediante la activación de marcas de características selectas para una lista de usuarios de adopción temprana.
- Decisiones controladas por datos:busque maneras de instrumentar el producto para obtener datos útiles y que puedan probar varias hipótesis. Ayude a impulsar una cultura que sea fácil de experimentar y que impulse el aprendizaje.
Mejora de la visibilidad del proyecto
Entre más información tenga usted y sus equipos sobre el objetivo, la visión y el progreso del trabajo que se está haciendo, mejor podrá reducir los riesgos y administrar las dependencias.
- Estructura delequipo: independientemente del tamaño que tenga la organización, estructurar la organización en torno a equipos pequeños de 6 a 9 escalas. Cree equipos de características autónomas y verticales agrupados en áreas de administración de carteras.
- Estructura del desglose deltrabajo: dividir los objetivos, características o requisitos grandes en otros más pequeños sigue siendo estable en la administración de proyectos. Al dividir el trabajo en tareas de tamaño similar, los equipos pueden realizar mejores estimaciones e identificar riesgos y dependencias.
- Vistas consolidadas:use las herramientas de seguimiento en línea para agregar trabajo para obtener conocimientos entre equipos. Cree paneles para mostrar el progreso y las tendencias.
- Revisiones deexperiencia: estas reuniones, que se mantienen antes de que comience el desarrollo de una característica, se usan para formar al liderazgo en escenarios y prioridades, recopilar comentarios, establecer expectativas y abrir cualquier problema entre equipos sobre la característica.
Capacitación de un personal productivo
Algunos procedimientos específicos de Agile que se escalan bien y conducen a empleados productivos, comprometidos y productivos son:
- Liderazgo integrado:capacitar a los equipos y líderes dentro de la organización para que se organicen y se auto administren tanto como sea posible. La autonomía del equipo aumenta la eficacia del equipo de agilidad organizativa. Asegúrese de que los equipos tienen el patrocinio corporativo necesario para tener éxito.
- Soportes diarios:o bien, las reuniones de Scrum ayudan a los equipos a centrarse en lo que necesitan hacer diariamente para maximizar su capacidad para cumplir sus compromisos de sprint. A medida que las organizaciones crecen, deben considerar la posibilidad de escalonar estas reuniones para que la participación entre equipos pueda producirse según sea necesario.
- Scrum de scrums:diariamente, los miembros de distintos equipos de Agile se reúnen diariamente para informar del trabajo completado, los pasos siguientes y los problemas o bloques que se producen dentro de sus equipos representativos.
- Comunicaciones deequipo: proporcione e inste a los equipos a compartir sus prácticas e instrucciones, a las que tanto ellos como otros equipos pueden acceder a través de la red corporativa. Las herramientas comunes que se usan para este propósito incluyen wikis de equipo, OneNotes o sitios de Markdown.
- Colaboración:fomente comunicaciones y colaboración informales de equipo a equipo dentro del equipo. Las prácticas de digitalización, como las revisiones de código, las revisiones de diseño y las revisiones de especificaciones, no solo aumentan la colaboración en equipo, sino que ayudan a desarrollar una cultura corporativa individual y general.
Mejora de la cultura de la organización
Para mejorar la eficacia de la organización, asóciese a la cultura que desea crear. Los cambios en la referencia cultural se producen cuando individuos, equipos y organizaciones adoptan una o varias prácticas de mejora continua. Entre las diversas prácticas escalables de Agile se incluyen:
Retrospectivas:Al hacer preguntas como: "¿Qué ha ido bien?", "¿Qué debemos hacer de manera diferente?" y "¿Qué debemos dejar de hacer?" ayudan a los equipos a reflejar cómo pueden mejorar sus procesos y prácticas. Las retrospectivas ayudan a los equipos a ver lo que funciona bien y lo que necesita mejorar. Las retrospectivas se pueden realizar en cualquier momento y en cualquier lugar. Sin embargo, la personalización de ciertas retrospectivas a una cadencia regular ayuda a la normalización de las prácticas de mejora continua. Por ejemplo:
Las retrospectivas de sprint pueden ayudar a los equipos a identificar áreas para mejorar a una cadencia regular.
Las retrospectivas de versión pueden ayudar a las organizaciones a identificar áreas para mejorar las comunicaciones y los procedimientos internos, así como la mejora del combustible para la próxima versión.
Revisiones operativas:normalmente se mantienen mensualmente e incluyen representantes de un flujo de valor completo. Al abarcar una cartera de proyectos y otras iniciativas y usar datos cuantitativos objetivos, diseñe estas retrospectivas para provocar discusiones sobre la dinámica que afecta al rendimiento entre los equipos.
Consulte la Wiki de recursos de Agile Retrospective para obtener ideas, sugerencias y herramientas para planear y realizar retrospectivas. Consulte también la extensión Retrospectives de Marketplace.
Placa de seguimiento demejora: las buenas ideas para mejorar los procesos pueden surgir de cualquiera en cualquier momento. Capturar esas ideas para analizarlas y decidir cómo actuar en ellas rápidamente es una clave para respaldar los esfuerzos de mejora del proceso.
Una placa blanca proporciona cualquier medio visual y sencillo con el que capturar ideas. Además, puede crear un equipo de seguimiento de mejoras y capturar ideas de las que se realiza un seguimiento en un panel kanban electrónico.
Compartición del uso compartido:compartir procedimientos recomendados y comunicar ideas ayuda a todos los equipos de una organización a crecer y mejorar. Desarrollar una cultura de aprendizaje es clave para respaldar esta y otras actividades de mejora continua. Algunas ideas que se deben tener en cuenta:
Wikis locales
Listas de distribución propias
Hackathon weeks or 10% hack time
Equipo de soporte técnico interno de Agile para ayudar a los equipos que adoptan prácticas de Agile
Culture Game proporciona un buen recurso para que los administradores de Agile ayuden a los equipos a adoptar Agile y compartir los procedimientos recomendados.
Comunidades de prácticas:admiten materias comunes internas (por ejemplo, DBA, arquitectos de SW, diseño de experiencia de usuario)
Software de trabajo
"Entregar software de trabajo con frecuencia, de un par de semanas a un par de meses, con preferencia a la escala de tiempo más corta".
"El software de trabajo es la medida principal del progreso".
- -
A medida que aumenta la cantidad de software, características y complejidad, deberá adoptar prácticas que le ayuden a generar soluciones consumivas.
- Marcas de características:use marcas de características para habilitar o deshabilitar el acceso a diferentes características. Proporcionar compatibilidad para activar características a los primeros usuarios para obtener comentarios de trabajo.
- Entrenamientos de versión:proporcione otro tipo de cadencia para entregar una o varias características. Los equipos de características entienden la programación planeada previamente para insertar nuevas características y planear correctamente. Los entrenamientos de versión pueden corresponder a la misma cadencia de sprint establecido para la organización, o pueden producirse con una cadencia diferente. Consulte Scaled Agile Framework para obtener información sobre cómo configurar sprints y liberar entrenamientos.
- Integración continua:adopte procesos que eliminen el trabajo manual y, en su lugar, automaticen el flujo de software a través de los ciclos de prueba, compilación e implementación.
- Código abierto interno:traiga el valor y el valor que se ha desarrollado en la comunidad de software de código abierto a los equipos de desarrollo internos.
Artículos relacionados
Junto con las prácticas anteriores, encontrará más instrucciones sobre el escalado de las herramientas de Agile en los siguientes artículos:
- Cultura de Agile
- Agregar equipos
- Administración de carteras
- Visibilidad entre equipos
- Escalado de la cultura ágil a equipos grandes
Recursos del sector
Prácticas que no se escalan
- Estimación de grandes iniciativas:parte de los métodos de proyecto en cascada implicaba la estimación de recursos y programaciones. Cuanto mayores sean las iniciativas, menos probable es que estas estimaciones sean de cualquier valor. A medida que aumentan los proyectos, pueden surgir riesgos y problemas e impedimentos imprevistos, lo que invalida muchas estimaciones.
- Velocidad: aunque la velocidad del equipo puede proporcionar una métrica útil para obtener información sobre cuánto trabajo puede completar cada equipo durante un ciclo de sprint, no puede agregar velocidades de equipo para obtener métricas significativas o útiles. Además, el uso de la velocidad obtenida de muchos equipos para completar de forma confiable las previsiones a largo plazo es problemático. Teams varían en la forma en que calculan su trabajo, y esas variaciones aumentan con el tiempo.
- Soluciones prescriptivas de arribaa abajo: un tamaño no se ajusta a todos y una solución normalmente no se ajusta a todos los equipos. Respaldar la autonomía del equipo significa permitir que los equipos encuentren sus propias soluciones.