¿Qué es Agile?

Agile es la capacidad de crear y responder al cambio. Es una forma de abordar y, en última instancia, de tener éxito en un entorno incierto y turbulento.

Los autores del Manifiesto Ágil eligieron «Agile» como etiqueta para toda esta idea porque esa palabra representaba la adaptabilidad y la respuesta al cambio que era tan importante para su enfoque.

Se trata realmente de pensar cómo puedes entender lo que está sucediendo en el entorno en el que te encuentras hoy, identificar la incertidumbre a la que te enfrentas y averiguar cómo puedes adaptarte a ella a medida que avanzas.

¿Qué es el Desarrollo de Software Ágil?

El desarrollo ágil de software va más allá de los marcos de trabajo como Scrum, Extreme Programming o el Desarrollo Basado en Funcionalidades. Es algo más que prácticas como la programación en pareja (Pair Programming), el desarrollo basado en pruebas, los stand-ups, las sesiones de planificación y los sprints.

El desarrollo ágil de software es un término genérico para un conjunto de marcos y prácticas basadas en los valores y principios expresados en el Manifiesto para el Desarrollo Ágil de Software y los 12 Principios que lo respaldan. Cuando se aborda el desarrollo de software de una manera particular, generalmente es bueno vivir de acuerdo con estos valores y principios y utilizarlos para ayudar a determinar las cosas correctas que se deben hacer en un contexto particular.

Una cosa que separa a Agile de otros enfoques de desarrollo de software es el enfoque en las personas que hacen el trabajo y cómo trabajan juntas. Las soluciones evolucionan a través de la colaboración entre equipos multifuncionales auto-organizados que utilizan las prácticas apropiadas para su contexto.
equipo ágil

Hay un gran enfoque en la comunidad de desarrollo de software ágil en la colaboración y el equipo de auto-organización.

Eso no significa que no haya gerentes (personas que supervisen el proceso). Significa que los equipos tienen la capacidad de averiguar cómo van a abordar el trabajo por sí mismos (equipos multifuncionales). Esos equipos no tienen que tener roles específicos tan involucrados como cuando se reúne el equipo, nos aseguramos de tener todas las habilidades correctas en el equipo.

habilidades dentro de los equipos

Equipos multifuncionales fuente: Matriz de Competencias – Management 3.0

Los líderes se aseguran de que los miembros del equipo tengan, u obtengan, las habilidades adecuadas, proporcionando el entorno que permite que el equipo tenga éxito.

La mayoría de los líderes dan un paso atrás y dejan que su equipo averigüe cómo van a entregar los productos, pero intervienen cuando los equipos lo intentan pero son incapaces de resolver los problemas.

Cuando la mayoría de los equipos y organizaciones comienzan a desarrollar bajo este mindset, se concentran en las prácticas que ayudan a colaborar y a organizar el trabajo, lo cual es excelente.

Sin embargo, otro conjunto clave de prácticas que no se siguen con tanta frecuencia, pero que deberían serlo, son las prácticas técnicas específicas que tratan directamente con el desarrollo de software de una manera que ayude a su equipo a lidiar con la incertidumbre. Esas prácticas técnicas son esenciales y algo que no se debe pasar por alto.

Agile es una forma de pensar

pensamiento agile

En última instancia, Ágil es una mentalidad basada en los valores contenidos en el Manifiesto Ágil y los 12 Principios detrás del Manifiesto Ágil. Esos valores y principios proporcionan orientación sobre cómo crear y responder al cambio y cómo hacer frente a la incertidumbre.

Se podría decir que la primera frase del Manifiesto Ágil resume toda la idea: «Estamos descubriendo mejores formas de desarrollar software haciéndolo y ayudando a otros a hacerlo».

Cuando te enfrentes a la incertidumbre, prueba algo que creas que podría funcionar, obtén retroalimentación y ajústate en consecuencia. Cuando lo hagas, ten en cuenta los valores y principios. Permita que el contexto guíe los marcos, prácticas y técnicas que utiliza para colaborar con su equipo y ofrecer valor a sus clientes.

¿Qué son las Metodologías Ágiles?

metodologias agiles

Si Agile es una mentalidad, ¿qué dice eso sobre la idea de las metodologías ágiles? Para responder a esta pregunta, puede ser útil tener una definición clara de la metodología.

Alistair Cockburn sugirió que una metodología es el conjunto de convenciones que un equipo acuerda seguir. Esto significa que cada equipo va a tener su propia metodología, que será diferente de la metodología de los demás equipos, ya sea a pequeña o a gran escala.

Por lo tanto, las metodologías ágiles son las convenciones que un equipo elige seguir de una manera que sigue los valores y principios ágiles.

Alistair aplicó el término marco a esos conceptos. Ciertamente nacieron de la metodología de un solo equipo, pero se convirtieron en marcos cuando se generalizaron para ser utilizados por otros equipos.

Estos marcos ayudan a informar dónde comienza un equipo con su metodología, pero no deberían ser la metodología del equipo. El equipo siempre tendrá que adaptar el uso de un marco de trabajo para que encaje adecuadamente en su contexto.

¿Qué es es la Agilidad de Negocios?

agilidad de negocio

A medida que el Desarrollo de Software Ágil se hizo más popular, las personas que estaban involucradas en actividades de desarrollo de software pero que no desarrollaban software personalmente buscaron alguna forma de averiguar cómo se aplicaban estas ideas ágiles en su línea de trabajo.

El Manifiesto Ágil y los 12 Principios fueron escritos por un grupo de desarrolladores de software para abordar los problemas a los que se enfrentaban los desarrolladores de software. Cuando se piensa en Agile como una mentalidad, esa mentalidad puede ser aplicada a otras actividades.

Agile se convierte en un adjetivo. Describe la forma en que se realiza alguna actividad. No crea una nueva metodología por las razones explicadas anteriormente.

Cuando nos surjan dudas sobre la gestión ágil de proyectos, debemos preguntarnos, ¿Cómo podemos realizar la gestión de manera que nos permita crear y responder al cambio y hacer frente a la incertidumbre?

Los dos conceptos mencionados anteriormente son ejemplos de un intento de mover el mindset Agile «fuera del software». Estos esfuerzos han dado como resultado recientemente el movimiento de Agilidad de Negocio.

Si se amplía la idea de Agilidad como mentalidad, entonces las personas que buscan Agilidad de Negocio se preguntan: «¿Cómo podemos estructurar y operar nuestra organización de manera que nos permita crear y responder al cambio y lidiar con la incertidumbre?

Se podría decir que la agilidad empresarial es un reconocimiento de que para que las personas de una organización operen con una mentalidad ágil, toda la organización necesita apoyar esa mentalidad.

El desarrollo de software ágil nunca fue verdaderamente ágil hasta que  la organización cambió su estructura y operaciones  para trabajar en un entorno incierto.