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:
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
Cuatro Valores Ágiles
Doce Principios Ágiles
Para seguir leyendo:
Damián Buonamico
[mc4wp_form id=»228″]