¿Qué es -en esencia- la Agilidad?

Kleer
4 min readMay 8, 2018

--

Por Damián Buonamico

Ser “ágil” está de moda entre las empresas de desarrollo de software. Los gerentes exigen a sus empleados ser “Ágiles”. Las empresas, productos y procesos dicen ser “ágiles” como una estrategia de marketing para atraer clientes.

Muchas discusiones se generan en torno a la agilidad debido a diferentes interpretaciones de su significado.

Suelo escuchar la palabra ágil para referirse a trabajar de manera más eficiente, producir menos costos, moverse más rápido, aceptar más riesgos, completar en menos tiempo, producir sin análisis previo, etc, etc. ¿Qué de todo esto es así?

En este artículo defino el concepto clave de la Agilidad de manera concisa, clara y precisa.

Mi Definición:

La agilidad es la capacidad de diseñar los pasos a seguir en función del aprendizaje que surge de los resultados producidos por los pasos anteriores y de la habilidad de adaptarse a los cambios del contexto, con el fin de alcanzar los objetivos propuestos de manera efectiva.

Algunas conclusiones podemos obtener de la definición anterior:

Paso por Paso

Esta idea sugiere que debemos avanzar de a pasos, donde cada pequeño avance nos permita medir los resultados, verificar supuestos, sacar conclusiones y aprender de ello. Implica además trabajar de modo tal de obtener un producto funcional en cada paso, un producto cuya utilidad pueda ser comprobable.

Forma Ágil

Forma No Ágil

Cambios del Contexto

Asume que la realidad en la cual el proyecto fue concebido va a cambiar a lo largo del camino y habrá que adaptarse a ello.

Efectividad versus Eficiencia

Trabajar de esta manera nos va a permitir alcanzar los objetivos de manera más efectiva. Es decir, más capacidad de satisfacción de los objetivos. No necesariamente de la manera más eficiente.

Consideremos el siguiente ejemplo:

¿Cuál provee más satisfacción de la necesidad y cual más optimización en el uso de recursos? ¿En cuál tendremos más oportunidad de aprender cómo nuestro trabajo satisface la necesidad del usuario?

Además, el enfoque ágil reduce el riesgo de construir algo que nunca será utilizado o que no satisface la necesidad. Es el riesgo más importante en desarrollo de producto. Consideremos el caso hipotético donde el cliente solicitó un auto para satisfacer su problema de transporte y descubre que con la bicicleta su necesidad se encuentra completamente satisfecha. Al auto no sería construido.

Un Objetivo

Es fundamental tener un objetivo que provea clara dirección al proyecto y no cambie a lo largo del mismo: satisfacer una necesidad o resolver un problema.

Cuando se evalúan los resultados de los pasos anteriores, se los mide en función si nos acerca o no de este objetivo.

En el ejemplo del gráfico el objetivo no debería ser construir un auto, sino satisfacer la necesidad de transporte.

El Proceso también se Adapta

La capacidad de adaptación no solo se refiere al producto, sino también a proceso que se sigue para construirlo. El equipo debe analizarlo con frecuencia para medir la efectividad del mismo y ajustar lo que consideren necesario.

Rápido versus Ágil

Este concepto de agilidad nos permite llegar antes a la satisfacción de objetivos. Esto no implica ir rápido. La rapidez aumenta el riesgo de cometer errores, descuidar lo importante y de advertir tarde que nos alejamos del objetivo.

Como dice la frase: “Vísteme despacio que tengo prisa”

Agilidad en el Desarrollo de Software

Una descripción más destallada de qué implica trabajar de manera ágil en el desarrollo de software fue definida en el 2001 en el Manifiesto Ágil.

De esta manera, un equipo u organización ágil es aquella que guía sus decisiones en base a los cuatro valores ágiles y doce principios definidos en el Manifiesto Ágil

Cuatro Valores Ágiles

Individuos e interacciones sobre procesos y herramientas

Software funcionando sobre documentación extensiva

Colaboración con el cliente sobre negociación contractual

Respuesta ante el cambio sobre seguir un plan

Doce Principios Ágiles

Nuestra mayor prioridad es satisfacer al cliente

mediante la entrega temprana y continua de software

con valor.

Aceptamos que los requisitos cambien, incluso en etapas

tardías del desarrollo. Los procesos Ágiles aprovechan

el cambio para proporcionar ventaja competitiva al

cliente.

Entregamos software funcional frecuentemente, entre dos

semanas y dos meses, con preferencia al periodo de

tiempo más corto posible.

Los responsables de negocio y los desarrolladores

trabajamos juntos de forma cotidiana durante todo

el proyecto.

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.

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.

El software funcionando es la medida principal de

progreso.

Los procesos Ágiles promueven el desarrollo

sostenible. Los promotores, desarrolladores y usuarios

debemos ser capaces de mantener un ritmo constante

de forma indefinida.

La atención continua a la excelencia técnica y al

buen diseño mejora la Agilidad.

La simplicidad, o el arte de maximizar la cantidad de

trabajo no realizado, es esencial.

Las mejores arquitecturas, requisitos y diseños

emergen de equipos auto-organizados.

A intervalos regulares el equipo reflexiona sobre

cómo ser más efectivo para a continuación ajustar y

perfeccionar su comportamiento en consecuencia.

www.agilemanifesto.org

Para seguir leyendo:

Publicado originalmente en http://c0920343.ferozo.com/2014/11/01/que-es-en-esencia-la-agilidad/

--

--