Las metodologías adaptativas -también conocidas como metodologías ágiles- son un grupo de procesos y técnicas de gestión de proyectos especialmente pensados para cuando el objetivo no puede definirse bien, es cambiante, o cuando las variables de mayor impacto no son predecibles (por ejemplo, cuando son dependientes de asuntos humanos).

Para resolver esta situación de ir hacia un blanco móvil, las metodologías adaptativas incorporan la idea de cambio dentro del proceso...

  • ... trabajando de manera iterativa
  • con entregas funcionales en tiempos breves, y
  • con una evaluación de estos entregables en situaciones reales para definir cómo y hacia dónde seguir antes de la próxima iteración.
  • Cada varios ciclos o iteraciones, se hace una evaluación de fondo que puede implicar cambios radicales (llamadas refactoring o refactorización) en lo hecho hasta el momento.

EnfoquesPredictivosYAdaptativos.png

Origen y diferencias con las metodologías predictivas o tradicionales

En la ingeniería tradicional (de construcción) el método funcional y probado por muchos años es tratar primero de diseñar con mucho cuidado, definiendo todo lo posible el trabajo a hacer, para optimizar la construcción luego, que puede incluso entregársele a un tercero.

Este enfoque, llamado de MetodologíasPredictivas, asume que la dinámica de las variables fundamentales del proyecto es conocida, lo que es perfectamente válido en la construcción física -donde la distancia a cubrir por un puente no cambia de un momento a otro, o la resistencia de los materiales es conocida-. Sin embargo, no siempre se da en otros tipos de proyectos. Especialmente en algo tan abstracto y flexible como es el software donde una parte importante de la evaluación depende de variables subjetivas (ver UtilidadMasUsabilidad).

Luego de varios años de aplicar este enfoque predictivo a rajatabla y ver que no siempre funcionaba para mantener los proyectos en curso, saliéndose frecuentemente del tiempo y recursos estimados originalmente, un grupo de personas se reunieron a analizar las causas y observaron que las premisas de predictibilidad de la ingeniería tradicional no se cumplían mucho en la ingeniería del software. Particularmente, cuando se estaba construyendo algo nuevo (en general, los humanos somos particularmente malos para proyectarnos a situaciones que no hemos vivido antes).

El resultado de esta diferencia entre la ingeniería constructiva (hard) y los programas (soft) era la constante queja por parte de los analistas de los "cambios en los requerimientos" que deshacían cualquier planificación, con la consiguiente pérdida de todo el esfuerzo invertido en la misma y las modificaciones que implicaban casi repensar el proyecto. El enfoque predictivo tiende a resistir el cambio, situación no fácil de manejar en un mundo donde los proyectos y su contexto suelen cambiar rápidamente (ni hablar en el mundo de los negocios).

Otra diferencia fundamental es que para el enfoque predictivo el poner el énfasis en el método/proceso se tiende a tomar a las personas como unidades intercambiables, mientras que para las metodologías adaptativas en proyectos donde la creatividad es importante no se puede asumir a las personas como recursos humanos intercambiables.

Principios fundamentales de las metodologías ágiles

"... hemos llegado a valorar:

  • Los individuos y las interacciones sobre los procesos y las herramientas.

  • El software funcional sobre la documentación exhaustiva.

  • La colaboración con el cliente sobre la negociación contractual.

  • La respuesta al cambio sobre el seguimiento de un plan.

Esto significa que aunque hay valor en los puntos a la derecha, valoramos más los puntos a la izquierda."

Ver el resto en el ManifiestoÁgil.

Sintetizando...

El enfoque adaptativo -que ha demostrado ser válido en el campo del desarrollo del software- es válido para casi cualquier proyecto donde:

  1. No se pueden predecir las variables fundamentales, y muy especialmente cuando...
  2. ... las personas (y sus apreciaciones) son un factor fundamental del proyecto.
  3. Se está creando algo nuevo, poco o no analogable a otras experiencias anteriores.
  4. El factor creativo (y por lo tanto el más caro) es una gran parte del proyecto (comparando con el trabajo de implementación, menos caro por hora).

Cuando uno está creando un producto o servicio nuevo las PruebasIterativas del modelo de UtilidadMasUsabilidad son muy útiles, así como los PrototiposDeBajaFidelidad para disminur la resistencia al cambio.

Referencias

MetodologíasAdaptativas (última edición 2008-11-17 17:28:15 efectuada por EduardoMercovich)