El documento, formalmente llamado “Manifiesto para el Desarrollo Ágil de Software”, fue producido por 17 desarrolladores durante una excursión del 11 al 13 de febrero de 2001, en The Lodge en la estación de esquí en Utah.

Los desarrolladores, que se autodenominaban Agile Alliance, buscaban una revisión de los procesos de desarrollo de software que consideraban engorrosos, insensibles y demasiado centrados en los requisitos de documentación.

Según agilemanisfesto.org, la sede en línea de la proclamación, el objetivo declarado de los desarrolladores no era la antimetodología, sino más bien “restaurar la credibilidad de la palabra metodología”.

Además, dice lo siguiente: “Queremos restablecer el equilibrio. Aceptamos el modelado, pero no para archivar un diagrama en un repositorio corporativo polvoriento. Abarcamos la documentación, pero no cientos de páginas de tomos nunca mantenidos y raramente utilizados. Planeamos, pero reconocemos los límites de la planificación en un ambiente turbulento”.

Desarrollo del Manifiesto Ágil

El enfoque ágil para el desarrollo de software se define por su compromiso de crear software de manera incremental. El enfoque ofrece a los usuarios nuevas versiones, o versiones, de software después de breves períodos de trabajo. Esos breves períodos de trabajo a menudo se denominan sprints.

Este proceso ágil contrasta con el enfoque tradicional de desarrollo de software, un método en el que los desarrolladores suelen compilar las necesidades y requerimientos de los usuarios y luego construir el software de una sola vez. Con estas metodologías tradicionales, el proyecto terminado se libera al final del ciclo del proyecto.

La Agile Alliance buscaba una alternativa a este tipo de enfoques en cascada, que describió como “procesos de desarrollo de software pesados y basados en la documentación”.

Cuatro valores de Agile

Los cuatro valores fundamentales del desarrollo de software ágil, tal como lo establece el Agile Manifesto, son:

individuos e interacciones sobre procesos y herramientas

software de trabajo sobre una documentación completa

colaboración del cliente sobre la negociación del contrato

respondiendo al cambio en lugar de seguir un plan

Los 12 principios de agile

Los 12 principios articulados en el Manifiesto Ágil son:

  1. Satisfacer a los clientes a través de la entrega temprana y continua de trabajos valiosos.
  2. Dividir el trabajo grande en tareas más pequeñas que se pueden completar rápidamente.
  3. Reconocer que el mejor trabajo surge de equipos auto-organizados.
  4. Proporcionar a las personas motivadas el entorno y el apoyo que necesitan y confiar en ellos para realizar el trabajo.
  5. Crear procesos que promuevan esfuerzos sostenibles.
  6. Mantener un ritmo constante para los trabajos realizados.
  7. Acoger las necesidades cambiantes, incluso al final de un proyecto.
  8. Reunir al equipo del proyecto y a los dueños del negocio diariamente a lo largo de todo el proyecto.
  9. Hacer que el equipo reflexione a intervalos regulares sobre cómo ser más eficaz, y luego afinar y ajustar el comportamiento en consecuencia.
  10. Medir el progreso por la cantidad de trabajo realizado.
  11. Buscar continuamente la excelencia.
  12. Aprovechar el cambio para obtener una ventaja competitiva.

El propósito del Manifiesto Ágil

Los defensores de las metodologías ágiles dicen que los cuatro valores delineados en el Manifiesto Ágil promueven un proceso de desarrollo de software que se enfoca en la calidad mediante la creación de productos que satisfagan las necesidades y expectativas de los consumidores.

Los 12 principios tienen por objeto crear y apoyar un entorno de trabajo centrado en el cliente, que se alinee con los objetivos del negocio y que pueda responder y girar rápidamente a medida que las necesidades de los usuarios y las fuerzas del mercado cambien.

Ágil vs. scrum y otras metodologías

Ágil, tal como se describe en el Manifiesto Ágil, es considerado una filosofía, pero existen otras metodologías y marcos específicos que formalizan muchas o todas las ideas presentadas en el Manifiesto Ágil.

Por ejemplo, Scrum es un marco para la gestión y el control de proyectos iterativos en el que el propietario del producto trabaja con equipos multifuncionales para crear una lista de tareas a realizar. Esta lista se conoce como la cartera de productos.

Otros frameworks y metodologías incluyen Crystal, Kanban, Lean y Extreme Programming (XP), todos los cuales tienen elementos que provienen de filosofías ágiles.

Críticas y controversias

Agile ha sido ampliamente adoptado por los equipos de desarrollo de software en toda la industria de la tecnología, así como en los departamentos de tecnología de la información de las empresas.

Además, Agile ha sido reconocido por hacer que los proyectos de software sean más exitosos en satisfacer las necesidades de los usuarios, clientes y negocios, y en producir software mucho más rápido y con mayor capacidad de respuesta que las metodologías tradicionales de cascada.

Sin embargo, Agile no ha estado sin sus críticos, y algunos lo consideran exagerado. Algunos sostienen que Ágil no funciona en todas las situaciones, y que los métodos, la terminología y la cultura asociada con Ágil podrían encajar mal dentro de las culturas de algunas organizaciones y proyectos.

Otros señalan que algunos equipos de desarrollo afirman tener una mentalidad ágil cuando, en realidad, simplemente han abandonado algunas de las ideas del desarrollo tradicional sin abrazar realmente los valores y principios de lo ágil.