¿Realmente sabes interpretar la agilidad?

October 11, 2022

Entender el porqué detrás de esos principios es fundamental para empezar a autoevaluar la cultura de tu empresa.

Desarrollo profesional
Marco Licini

Comprender la esencia de la agilidad es entender sus 4 valores fundamentales. De ellos se derivan una serie de principios, claves para la implementación correcta de la agilidad en nuestra empresa.

Pero es necesario saber a qué responden estos principios y su razón de ser, ya que la agilidad es principalmente una mentalidad, es nuestra manera de ver y entender las cosas para luego tomar las decisiones desde un punto de vista. Por ende, es fundamental que leas mi primer artículo de esta serie, en donde habló acerca de ello, antes de leer acerca de los principios.

Es a través de los principios que podemos convertir lo intangible de los valores, en tangible. Los principios nos guían, nos dan referencias, de las cuales a partir de ellos, nacen las prácticas ágiles que muchas organizaciones aplican hoy en día.

En este artículo vamos a interpretar los principios ágiles y a analizar lo que quieren decir en esencia cada uno de ellos.

Aquí los 12 principios de la agilidad, como fueron expresados en el Manifiesto ágil:

1. Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor.

Es claro que la satisfacción del cliente es muy importante, pero ¿cómo lograrlo? Pues, esta satisfacción depende de una entrega “temprana y continua” de un software (o producto) con “valor”.

Más adelante explicaremos lo temprano y continuo. Respecto al “valor” ¿quién define qué es? Pues a pesar de no estar del todo explícito en los principios, es el cliente quien decide que tiene y que no tiene valor y es, según eso, sobre lo que se planifican estas entregas de software.

2. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.

El cambio y la incertidumbre es bienvenido en la agilidad. El cliente es quien decide que tiene valor, y ese “que” puede perfectamente variar dependiendo del momento, el mercado u otras variables, por lo que el equipo no se adhiere estrictamente a un requisito o un proceso, si no, se adhiere a entregarle al cliente lo que él necesita.

Además, se aprovecha el cambio para innovar y explorar, siempre teniendo en mente que hay un mercado muy competitivo y siempre se quiere estar a la vanguardia.

3. Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al periodo de tiempo más corto posible.

 La frase “Entregamos software funcional frecuentemente” es clave, ya que la entrega, debe ser funcional el cliente debe poder utilizarla. Una entrega de software incompleta, con errores, sin control de calidad, difícilmente podemos considerarla como una entrega funcional. Por lo que si, la agilidad debe contemplar altos estándares de calidad en sus procesos. 

La frase que habíamos dejado en el aire  “entrega temprana y continua”, es aquí donde se especifica, Hay un rango de tiempo ideal para la entrega del software, y es entre dos semanas a dos meses (usualmente se suele no extenderse más de un mes). Una vez se hace una entrega, se empieza a trabajar en la otra, en ciclos de tiempo siempre iguales a la anterior.

4. Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.

Los responsables de negocio, incluido el cliente en sí, trabajan en conjunto a los desarrolladores del proyecto “de forma cotidiana”. Tal cual como se escucha, el cliente, trabaja durante el día a día en su propio producto. Es que esta es la mejor forma que se conoce de garantizar que siempre se esté agregando valor al ajustar necesidades, estableciendo los cambios y aclarando las dudas lo más rápido posible, para evitar desperdicios (es decir, trabajo que no agregue valor).

5. Los proyectos se desarrollan en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan, y confiarles la ejecución del trabajo.

“Individuos motivados” y “hay que darles el entorno y el apoyo que necesitan” el proyecto necesita ser desarrollado por personas que verdaderamente deseen hacer el trabajo que están haciendo, por lo cual brindarles apoyo, mantenerlos en crecimiento, felices y competentes es fundamental. Además, “hay que confiarles la ejecución del trabajo”, esto propone que se debe confiar, estimular y promover que los desarrolladores, se auto gestionen y se autoorganicen en su ejecución diaria del trabajo, para cumplir con los objetivos.

Al final, son ellos los que conocen el detalle de lo que están haciendo y deberían tener el criterio e información para tomar sus propias decisiones. Esto es parte fundamental, de esas competencias que se deben desarrollar en el equipo.

6. El método más eficiente y efectivo de comunicar información al equipo de desarrollo y entre sus miembros es la conversación cara a cara.

En pocas palabras, si queremos comunicarnos de forma clara, y evitar malos entendidos y malas interpretaciones, debemos conversar en persona. Hoy en día, con la realidad de trabajo remoto, esto no es tan sencillo, pero aún podemos encender nuestras cámaras en las video llamadas. Esto, amortigua un poco el no poder vernos de manera presencial.

Es fundamental tener presente que cada concesión que se haga respecto a la comunicación del equipo, es decir cada elemento del cómo nos comunicamos que se elimine (cada uno de nuestros sentidos y la comunicación a tiempo real), tendrá un impacto proporcionalmente negativo en la comunicación y entendimiento del equipo y por ende en el trabajo. Por lo que, son puntos importantes de abordar, estrategias para reducir este impacto.

7. El software funcionando es la medida principal de progreso.

¿Cómo sabemos que estamos haciendo bien nuestro trabajo?, la respuesta está en el producto, si funciona y cada vez agrega más valor al cliente, entonces, estamos en buen camino. Es fácil perderse en los procesos, herramientas, métricas y justificaciones. Al final lo importante es que el producto esté funcionando, y según eso los equipos deben constantemente evaluarse y tomar decisiones.

8. Los procesos ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.

La agilidad necesita mantener ritmos constantes de trabajo, sin importar cuanto tiempo termine necesitando un proyecto (precisamente porque usualmente no sabemos realmente cuando termina). Por esto es muy importante evitar los burnout, cada ciclo de trabajo (en donde se trabaja hacia una entrega) debe ser sostenible, porque justo al terminar, uno nuevo comienza. Recuerda, es el mismo equipo quien debe autogestionarse y llevar su propio ritmo y pulso.

9. La atención continua a la excelencia técnica y al buen diseño mejora la agilidad.

La calidad es clave en la agilidad, queremos desarrollar software de forma rápida, sin sacrificar la calidad ni el buen diseño. Para esto, tener profesionales competentes y en continua formación es fundamental.

10. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.

Queremos soluciones simples, y trabajar en lo que realmente es necesario. Por eso la comunicación es vital en los equipos de trabajo y hacia el cliente. Queremos ser lo más óptimos posibles y aprovechar los recursos  lo mejor posible. Se busca hacer lo mínimo necesario para cumplir con un requisito, ni más ni menos, muchas veces lo adicional, no representa suficiente valor para el tiempo invertido en ello.

11. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.

Es fundamental el empoderamiento del equipo y para eso ellos mismos deben organizarse, esto les permite proponer y discutir ideas y soluciones, tomar decisiones, y tener mayor responsabilidad sobre el producto en sí. Como consecuencia, el equipo aporta mayor calidad en las arquitecturas y diseños que ellos mismos gestionan.

12. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia.

El crecimiento continuo es vital en la agilidad, el equipo debe medir su pulso, y para ello la reflexión del trabajo en los ciclos de trabajo es importante. De allí se reconoce que se está haciendo bien y que se está haciendo mal, para así discutirlo y  tomar las acciones necesarias para producir el cambio. Es fundamentalmente un espacio para reflexionar, tanto del proceso, como del ambiente de trabajo, cualquier cosa que esté afectando a los desarrolladores, debería también ser conversado, porque afecta la “efectividad”.

Estos son los 12 principios ágiles de los cuales se derivan muchos marcos de trabajos ágiles. Algunos marcos de trabajo como SCRUM realmente se crearon antes que la agilidad en sí, y de él, se extrajeron fundamentos mencionados en estos principios, por lo que, estos principios tienen una experiencia práctica detrás, que los sustenta.

Más adelante hablaré acerca de marcos de trabajo y prácticas ágiles y la diferencia entre ambas. Lo importante antes de llegar a esa lectura, es entender, que esos marcos y prácticas se apoyan en los principios ágiles, por lo que responden a ellos.

Ahora la pregunta para ti es, ¿Cuáles son los tres principios que se aplican de mejor manera en tu empresa y cuales son los tres que están muy lejos de ser aplicados? Entender el porqué detrás de esos principios es fundamental para empezar a autoevaluar la cultura de tu empresa.

Compartir
ETIQUetas