Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Las organizaciones empresariales adoptan prácticas de Agile por muchas razones. Entre estas razones se incluyen:
- Acortar el tiempo de comercialización y acelerar la entrega de productos
- Mejorar la eficacia de la organización para administrar las cambiantes prioridades.
- Mejorar la calidad del software y la previsibilidad de las entregas.
- Mejorar la visibilidad de los proyectos y reducir los riesgos
A medida que crece su organización, quiere escalar sus prácticas para que sigan siendo ágiles y cumplan los objetivos cambiantes. Para ello, tenga en cuenta estos dos principios rectores:
- ¿Qué consideran usted, sus equipos y su organización que es triunfar? ¿Qué le interesa más: Entrega a tiempo? la calidad del producto, la previsibilidad o la satisfacción del cliente?
-
Vuelva a los primeros principios y vuelva a los principios y los valores compartidos enumerados en el manifiesto agile como lo señaló Ken Schwaber, uno de los fundadores de Scrum:
- "Los valores y los principios se escalan, pero las prácticas dependen del contexto".
- "Mantenga los valores, mantenga los principios y piense por sí mismo. Una premisa básica de Agile es que las personas que realizan el trabajo son las que mejor pueden averiguar cómo hacerlo".
Creación de 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 pueden ayudar a crear ritmo y flujo en organizaciones grandes se incluyen:
- Cadencia compartida: los sprints y las versiones regulares establecen el ritmo de la empresa. Que todos los equipos trabajen con una cadencia compartida sirve de ayuda en todas las actividades de coordinación y colaboración.
- Comunicaciones de sprint: para mantener la organización y todos los equipos informados sobre el progreso y los planes de los equipos de características, cada equipo de características puede compartir un resumen de sus resultados de sprint anteriores y los planes de sprint actuales a través de canales digitales como Microsoft Teams, Slack o correo electrónico.
- Demostraciones y vídeos de sprint: cree vídeos rápidos de 2 a 3 minutos que ilustran las nuevas funcionalidades que produce el equipo. Deben compartirse los enlaces a los vídeos dentro de los canales del equipo o en las comunicaciones del sprint.
- Reuniones de demostración: para informar a otros equipos y solicitar opiniones sobre el software en desarrollo, los equipos presentan el trabajo completado. Realice estas reuniones a intervalos regulares a lo largo de todo el ciclo de vida del proyecto y ábralas a todas las partes interesadas.
- Paneles de métricas de calidad: Para proporcionar información sobre la calidad del producto y fomentar el mantenimiento de la disciplina 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, cobertura de pruebas y tasas de escape de defectos.
- Reuniones y ceremonias de coordinación: mantenga reuniones que coordinan los equipos a intervalos regulares o con la frecuencia necesaria para abordar objetivos, dependencias y riesgos superpuestos. Considere la posibilidad de implementar sesiones de planeación de Scrum of Scrums o Program Increment (PI).
Interacción con clientes
La participación de los clientes a lo largo de todo el ciclo de vida del producto es un principio ágil fundamental. Permita a los equipos interactuar directamente con los clientes en lo que respecta a los conjuntos de características que poseen.
-
Bucles de comentarios continuos: incorpore mecanismos de retroalimentación de los clientes. Estos bucles pueden adoptar muchas formas:
- Plataformas de voz del cliente: facilita a los clientes que envíen comentarios, agreguen ideas y voten sobre las características de próxima generación a través de portales dedicados, foros de la comunidad o sistemas de comentarios integrados.
- Comentarios en el producto: implemente botones de comentarios en el producto y telemetría para recopilar información sobre la experiencia del producto y características específicas.
- Demostraciones de clientes y pruebas de usuario: programe demostraciones periódicas que soliciten comentarios de sus clientes y realice sesiones de pruebas de facilidad de uso para ayudar a dar forma a los productos de próxima generación y mantenerle al día para crear aplicaciones que los clientes desean consumir.
- Programas pioneros y beta: desarrolle programas con la idea de que todos los equipos puedan querer participar en algún momento. Los usuarios pioneros obtienen acceso a las primeras versiones del software de trabajo y proporcionan comentarios valiosos. A menudo, estos programas funcionan habilitando las banderas de características selectas para una lista de adoptantes tempranos.
- Decisiones controladas por datos: encuentre formas de instrumentar el producto para obtener datos útiles y probar varias hipótesis. Impulsar hacia una cultura amigable con el experimento que celebra el aprendizaje y la toma de decisiones basadas en evidencias.
Mejora de la visibilidad del proyecto
Cuanto más información tenga usted y sus equipos en el objetivo, la visión y el progreso del trabajo que se está realizando, mejor podrá reducir los riesgos y administrar las dependencias.
- Estructura del equipo: independientemente del tamaño que alcance su organización, estructurar su organización en torno a equipos pequeños de 6 a 9 personas escala eficazmente. Cree equipos de características verticales y autónomos agrupados en áreas de administración de cartera.
- Estructura de desglose del trabajo: dividir grandes objetivos, características o requisitos en otros más pequeños sigue siendo un elemento básico de la administración de proyectos. Al descomponer el trabajo en tareas de tamaño similar, los equipos pueden realizar mejores estimaciones e identificar riesgos y dependencias.
- Vistas consolidadas y paneles: use las herramientas de seguimiento en línea para agregar trabajo y obtener conocimientos en todos los equipos. Cree paneles en tiempo real para mostrar el progreso, las tendencias y los indicadores clave de rendimiento mediante los servicios de Azure DevOps Analytics.
- Revisiones de experiencia y diseño: mantenga estas reuniones antes de que el desarrollo comience en una característica para educar al liderazgo en escenarios y prioridades, recopilar comentarios, establecer expectativas y exponer cualquier problema entre equipos sobre la característica.
Capacitación del personal de producción
Las prácticas ágiles específicas que escalan bien y conducen a empleados más felices, comprometidos y productivos incluyen:
- Liderazgo insertado y seguridad psicológica: permita a los equipos y líderes de la organización organizarse y autoadministrar lo más posible. La autonomía del equipo aumenta la agilidad de la organización y la eficacia del equipo. Asegúrese de que los equipos tengan el patrocinio corporativo necesario para tener éxito y crear entornos en los que los miembros del equipo se sientan seguros para expresar ideas y preocupaciones.
- Reuniones diarias: las reuniones de Scrum ayudan a mantener a los equipos enfocados en lo que deben hacer cada día para maximizar su capacidad de cumplir sus compromisos de sprint. A medida las organizaciones que crecen, estas deben considerar la posibilidad de escalonar estas reuniones, con el fin de que la participación entre equipos pueda producirse cuando sea necesario.
- Scrum of scrums: los representantes de diferentes equipos ágiles se reúnen con regularidad para notificar el trabajo completado, los pasos siguientes y los problemas o bloques que se producen dentro de sus equipos.
- Comunicación en equipo y uso compartido de conocimientos: proporcione y anime a los equipos a compartir sus prácticas e instrucciones a través de redes corporativas. Entre las herramientas comunes se incluyen wikis de equipo, Microsoft Teams, Confluence o wikis de Azure DevOps.
- Colaboración y calidad del código: fomente comunicaciones y colaboración informales entre equipos. Institucionalice prácticas como revisiones de código, revisiones de diseño, programación de pares y programación en grupo. Estas prácticas no solo aumentan la colaboración en equipo, sino que ayudan a desarrollar competencias individuales y corporativas generales.
Mejora de la cultura de la organización
Para mejorar la eficacia de la organización, preste atención a la cultura que desea crear. Los cambios en la cultura se producen cuando las personas, los equipos y las organizaciones adoptan una o varias prácticas de mejora continua. Estas son algunas prácticas escalables de Agile:
Retrospectivas: Pregunte preguntas como "¿Qué ha ido bien?", "¿Qué debemos hacer de manera diferente?", y "¿Qué debemos dejar de hacer?" para ayudar a los equipos a reflexionar sobre cómo pueden mejorar sus procesos y prácticas. Las retrospectivas ayudan a los equipos a exponer lo que funciona bien y qué necesita mejorar. Puede realizar retrospectivas en cualquier momento y en cualquier lugar. Sin embargo, la institucionalización de ciertas retrospectivas a una cadencia regular ayuda a establecer prácticas de mejora continua. Por ejemplo:
Las retrospectivas de sprint ayudan a los equipos a identificar áreas para mejorar con una cadencia regular.
Las retrospectivas de lanzamiento ayudan a las organizaciones a identificar áreas para mejorar las comunicaciones y las prácticas internas, impulsando el avance para la próxima versión.
Revisiones operativas: normalmente se mantienen mensualmente e incluyen representantes de un flujo de valor completo. Mostrar una cartera de proyectos y otras iniciativas y usar datos cuantitativos y de objetivos diseñan estas retrospectivas para provocar discusiones sobre la dinámica que afectan al rendimiento entre equipos.
Consulte Agile Retrospective Resource Wiki para obtener ideas, sugerencias y herramientas tanto para planear como para realizar retrospectivas. Consulte también la extensión Retrospectivas de Marketplace.
Panel de seguimiento de mejoras: las buenas ideas para mejorar los procesos pueden surgir de cualquier persona en cualquier momento. Capturar esas ideas para discutir y decidir cómo actuar sobre ellas rápidamente apoya los esfuerzos de mejora de procesos.
Una pizarra proporciona un medio visual y sencillo para capturar ideas. Además, puede crear un equipo de seguimiento de mejoras y capturar ideas que realice en un panel electrónico.
Institucionalizar el uso compartido y el aprendizaje: compartir procedimientos recomendados y comunicar ideas ayuda a todos los equipos de una organización a crecer y mejorar. Desarrollar una cultura de aprendizaje apoya esta y otras actividades de mejora continua. Tenga en cuenta estas ideas:
Wikis internas y bases de conocimiento
Comunidades de prácticas y gremios
Semanas de Hackathon o tiempo de innovación
Equipos internos de entrenamiento de DevOps y Agile para apoyar a los equipos que adoptan estas prácticas
Sesiones normales de almuerzo y aprendizaje
Conferencias internas y charlas técnicas
Culture Game proporciona un buen recurso para que los administradores de Agile ayuden a los equipos a adoptar prácticas ágiles y compartir procedimientos recomendados.
Comunidades de prácticas: admite disciplinas comunes internas (por ejemplo, ingenieros de confiabilidad de sitios, arquitectos de software, diseñadores de experiencia de usuario, científicos de datos y especialistas en seguridad)
Software de trabajo
"El software de trabajo se debe entregar con cierta frecuencia, entre un par de semanas y un par de meses, pero debe tener preferencia la escala de tiempo más corta."
"El software de trabajo es la medida principal del progreso."
- Manifiesto de Agile
A medida que aumente la cantidad de software, características y complejidad, debe adoptar prácticas que le ayuden a producir soluciones consumibles.
- Marcas de características y entrega progresiva: use marcas de características para habilitar o deshabilitar el acceso a diferentes características de forma segura. Activar características para los usuarios tempranos para obtener retroalimentación. Implemente patrones de entregas progresivas, como despliegues canario y despliegues azul-verde.
- Liberar trenes y entrega continua: proporcione otro tipo de cadencia para ofrecer una o varias características. Los equipos de desarrollo comprenden la programación previamente planificada de lanzar nuevas características y planifican en consecuencia. Los trenes de liberación pueden tener la misma periodicidad de sprints establecida para la organización o una periodicidad diferente. Consulte Scaled Agile Framework para obtener información sobre cómo configurar sprints y liberar trenes.
- Integración continua e implementación continua (CI/CD): adopte procesos automatizados que eliminen el trabajo manual y automaticen el flujo de software a través de ciclos de prueba, compilación e implementación. Implemente estrategias de prueba completas, incluidas las pruebas unitarias, las pruebas de integración y las pruebas de aceptación automatizadas.
- Desarrollo de código interno y abierto: traiga el valor y el ethos desarrollado en la comunidad de software de código abierto a los equipos de desarrollo internos. Fomentar el uso compartido de código, la documentación y las prácticas de desarrollo de colaboración en todos los equipos.
- Prácticas nativas de la nube: adopte la contenedorización, las arquitecturas de microservicios y los patrones de implementación nativos de la nube para mejorar la escalabilidad y el mantenimiento.
Prácticas y consideraciones modernas
A medida que han evolucionado las prácticas ágiles, tenga en cuenta estos otros enfoques modernos:
- Integración de DevSecOps: integre las prácticas de seguridad durante el ciclo de vida de desarrollo en lugar de tratar la seguridad como una preocupación independiente.
- Ingeniería de confiabilidad de sitios (SRE): adopte prácticas de SRE para mejorar la confiabilidad del sistema y reducir la sobrecarga operativa.
- Mapeo de la cadena de valor: Mapee y optimice el flujo de valor desde la idea hasta la entrega al cliente.
- OKR (Objetivos y Resultados clave): use OKR para alinear los equipos en torno a resultados medibles en lugar de solo salidas.
- Pensamiento de diseño: incorpore enfoques de diseño centrados en el ser humano para comprender mejor las necesidades de los clientes.
Contenido relacionado
Junto con los procedimientos anteriores, puede encontrar más instrucciones sobre el escalado de las herramientas de Agile en los siguientes artículos:
- Cultura de Agile
- Adición de equipos
- Administración de carteras
- Visibilidad entre equipos
- Escalado de la cultura ágil a equipos grandes
Recursos del sector
- Manifiesto de Agile
- Alianza de Agile
- Marco de Trabajo Ágil Escalado (SAFe)
- DevOps Research and Assessment (DORA)
Prácticas que no se escalan
- Cálculo de grandes iniciativas: la parte de los métodos de proyectos en cascada implicada en el cálculo de recursos y programaciones. Cuanto mayor sea la cantidad de iniciativas, menos probable es que estas estimaciones proporcionen cualquier valor. A medida que crecen los proyectos, aumenta la probabilidad de que aparezcan riesgos y problemas e impedimentos imprevistos, lo que invalida muchos de los cálculos.
- Velocidad como métrica entre equipos: 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. Es problemático usar la velocidad obtenida de muchos equipos para completar pronósticos a largo plazo de forma confiable. Los equipos pueden variar en la forma en que calculan su trabajo y esas variaciones aumentan con el tiempo.
- Soluciones prescriptivas de arriba abajo: no existe una fórmula única y ninguna solución suele servir para todos los equipos. La autonomía del equipo de apoyo significa permitir que los equipos encuentren sus propias soluciones a la vez que proporcionan los marcos y el soporte técnico necesarios.
- Cargo cult Agile: Simplemente adoptar ceremonias ágiles sin entender su propósito o adaptarlos a su contexto a menudo conduce a implementaciones ineficaces.