¿Qué es Agile?

Completado

"Método ágil" se usa para describir enfoques para el desarrollo de software, y se resaltan la entrega incremental y la colaboración en equipo, así como el planeamiento y el aprendizaje continuos. Agile no es solo un proceso, sino que también es una filosofía o una forma de planear el trabajo que realizará un equipo. Se basa en el desarrollo iterativo y ayuda a que un equipo planee mejor y reaccione ante los cambios inevitables que ocurren en el desarrollo de software. Escuchemos la conversación de Mara con Andy después de la última versión.

Mara creía que había dado algunos pasos adelante haciendo que el equipo se interesase en DevOps, pero ahora el progreso está estancado. El equipo ha estado demasiado ocupado corrigiendo los errores de la última versión como para pensar en otras cosas.

Recuerde que Irwin, el director de productos, proporcionó al equipo algunos comentarios de clientes bastante críticos sobre el sitio web de juegos de carreras. Resolver estos problemas no fue para nada divertido. Andy y Mara escribieron el código y luego se lo entregaron a Amita, la evaluadora. Parecía que Amita no dejaba de encontrar errores nuevos y tenía que devolver el código. Hubo un error en el servidor de compilación. Tim no pudo acceder al sitio web del juego para trabajar en la producción, incluso después de haber funcionado en desarrollo y pruebas. Todos trabajaron durante muchas horas y se perdieron un par de fines de semana.

Una vez enviada la versión, Mara y Andy se sentaron a tomar un café. Ambos estaban cansados. Mara estaba desanimada, pero Andy tenía otra actitud.

Andy: —No sé por qué te sorprende. El lanzamiento de software es complicado. Siempre hay que dejarse la piel. ¿Alguna vez lo has hecho de otra forma?

Mara: —Sí, y creo que aquí también podríamos hacer las cosas más fáciles. Estoy convencida de que DevOps nos puede ayudar.

Andy: —Recuerdo que hicimos un ejercicio de asignación de flujo de valor, ¿pero ahora qué? Tenemos que empezar a trabajar en la nueva versión. Pensé que ya habíamos terminado con DevOps.

Mara: —Podemos hacer mucho más. Creo que deberíamos dar el primer paso y realizar una planificación de Agile. Podemos ayudarnos con Azure Boards.

Andy: —¿A qué te refieres con "método ágil"?

Mara: —El método ágil es un enfoque para el desarrollo de software. El término "Agile" se acuñó en 2001, en el manifiesto ágil. El manifiesto estableció algunos principios fundamentales para un mejor enfoque para el desarrollo de software. El manifiesto dice:

Valoramos:

  • Individuos e interacciones sobre procesos y herramientas.
  • Software de trabajo sobre documentación general.
  • Colaboración con el cliente sobre negociación contractual.
  • Respuesta al cambio sobre seguimiento de un plan.

Andy: —Mira, si tienes algún truco mágico que facilite la vida, cuenta conmigo. Cuando llego a casa, mis hijos siempre están ya dormidos. Pero esto suena demasiado delicado, sin soluciones concretas.

Mara: —No se trata de trucos de magia, pero podemos hacerlo poco a poco, y Azure DevOps nos proporciona las herramientas que necesitamos para implementar las prácticas con el método ágil. Por ahora, cuando queramos planear, podemos usar Azure Boards. En primer lugar, ¿me puedes explicar el proceso de compilación y ayudarme a identificar los mayores problemas?

Después de muchos cafés, Mara y Andy identifican los mayores problemas en el proceso de compilación. Todos los problemas surgieron durante la última versión. Después de que se marche Andy, Mara examina sus notas garabateadas y decide hacer ella misma un poco de planeación de Agile. Ella sola, usa el proceso Basic de Azure Boards para tener todos los problemas en un solo lugar.

Su siguiente paso es mostrar el panel al equipo y hacer que se involucren.

Recomendaciones para adoptar el método ágil

El equipo está preparado para realizar los primeros pasos con el fin de adoptar el método ágil. A continuación, se indican algunas recomendaciones generales que cualquier equipo puede usar para incorporar el método ágil a su organización.

Creación de una estructura organizativa que admita prácticas con el método ágil

Para la mayoría de las organizaciones, la adopción del método ágil puede ser difícil. Requiere un cambio en la forma de pensar y en las referencias culturales que supone un reto por lo que respecta a muchas directivas y procesos de la organización. Normalmente, la mayoría de las compañías usan una estructura de equipo horizontal. En la práctica, esto significa que los equipos se corresponden con la arquitectura de software. Por ejemplo, puede haber un equipo que se encargue de la interfaz de usuario de una aplicación, otro, de los datos y otro, de la arquitectura orientada a servicios.

Sin embargo, los equipos con una estructura vertical proporcionan mejores resultados para los proyectos con el método ágil. Los equipos de estructura vertical abarcan la arquitectura y se alinean con los resultados del producto. Por ejemplo, puede haber un equipo que se encargue de la parte del correo electrónico de la aplicación y que los miembros del equipo provengan de las tres disciplinas anteriores. Otra ventaja de la estructura de equipo vertical es que el escalado se produce mediante la adición de equipos.

Miembros del equipo asesores de técnicas y prácticas con el método ágil

Cuando se inician por primera vez para adoptar técnicas y prácticas ágiles, algunos equipos deciden contratar asesores externos. Los asesores pueden incluso trabajar con varios equipos para ayudar a eliminar los obstáculos y silos de la organización, por lo que a menudo tienen habilidades de formación y administración. También pueden formar a los miembros del equipo en técnicas ágiles, como la forma de realizar reuniones de revisión y de pie. Sin embargo, con el tiempo, es importante que los miembros del equipo desarrollen la habilidad de asesorarse entre ellos. Esto significa que la mayor parte del trabajo debe realizarse de forma colaborativa y no por parte personas que pasan casi todo el tiempo trabajando solas.

Habilitación de la colaboración en equipo y entre equipos

Si la colaboración es la clave para que funcione el método ágil, ¿de qué formas puede propiciarla? A continuación, se muestran algunas ideas.

Cambio cultural

Al cambiar una referencia cultural, tenga en cuenta algunos aspectos. Es importante que los miembros del equipo tengan un lugar tranquilo y cómodo para trabajar. Necesitan espacios en los que puedan concentrarse, sin una gran cantidad de distracciones ni ruido.

Las reuniones son una realidad y puede parecer que acaparan la vida laboral de una persona. Para que los miembros del equipo tengan más control, las reuniones necesitan una agenda y unos plazos de tiempo estrictos.

Las comunicaciones asincrónicas, como el correo electrónico y los mensajes, pueden parecer abrumadoras, y las personas suelen sentir que tienen que responderse de inmediato. Deje claro que no todas estas comunicaciones necesitan una respuesta inmediata.

Contar con miembros de equipo remotos ahora es la normalidad de muchas empresas. Todo el mundo debe sentirse cómodo con todos los miembros del equipo y tratarlos de manera equitativa, tanto si están en la oficina como si trabajan desde otro lugar. La colaboración a través de la comunicación debe formar parte del ADN de la organización.

Nunca se insistirá lo suficiente en la importancia de una buena comunicación, incluso cuando hay desacuerdos. La resolución de conflictos es una buena aptitud de cualquier equipo que use el método ágil.

Equipos interdisciplinares

Del mismo modo que es importante que los miembros del equipo trabajen en colaboración, también es importante que los equipos colaboren entre sí. Los equipos interdisciplinares agregan nuevas aptitudes y perspectivas que pueden ampliar la habilidad de todos los miembros para solucionar los problemas con ingenio. Los equipos interdisciplinares también hacen que toda la organización esté más unida. Reducen las guerras de posiciones y aumentan la sensación de que todo el mundo trabaja para lograr un objetivo en común.

Herramientas para la colaboración

Las buenas herramientas pueden ayudar a los miembros del equipo del método ágil a colaborar de forma más eficaz, tanto en el equipo como con otros. A continuación, se indican unas sugerencias para comenzar:

  • Microsoft Teams: Teams es una aplicación que proporciona un área de trabajo para chat, reuniones, notas y almacenamiento de archivos.
  • Skype: Skype es fácil de usar y una buena herramienta de uso general. Muchas personas ya lo tienen instalado.
  • Slack: Slack proporciona muchos canales de comunicación independientes, todo ello desde una sola interfaz. Puede organizar estos canales de muchas maneras, como por proyecto, equipo o tema. Las conversaciones se conservan y se pueden realizar búsquedas en ellas. Es muy fácil agregar miembros del equipo internos y externos. Slack se integra directamente con muchas herramientas de terceros, como GitHub para el código fuente.

Otras herramientas comunes son Google Hangouts, Asana, Trello, GoToMeeting y monday.com. Trate de familiarizarse con las opciones para ver cuáles se adaptan a las necesidades de su equipo y su empresa.