Se lee en 2 minutos

En los años 90, los proyectos habitualmente se planteaban por los ingenieros mediante etapas consecutivas y dependientes unas de otras. Se buscaba poder definir desde el principio exactamente cómo iba a ser el producto completo y cómo iba a satisfacer las necesidades del cliente. Se asumía (erróneamente) que las necesidades y contextos no iban a variar durante todo el tiempo que durase el desarrollo y que no habría nada nuevo que incorporar en todo el proceso.

Este sistema o metodología hizo fracasar tal cantidad de proyectos que en 2001, en Utah, se reunieron una serie de personas convocadas por Kent Beck. Su finalidad era tratar de mejorar técnicas y procesos de desarrollo de software. De dicha reunión surgió el término “Métodos Ágiles“, para definir los métodos nuevos que surgieron como alternativa a las metodologías formales. 

Los nuevos valores que aportaron para llevar a cabo dichas metodologías fueron:

  • Individuos e interacciones por encima de procesos y herramientas.
  • Software funcionando por encima de documentación extensiva.
  • Colaboración con el cliente por encima de negociación contractual.
  • Respuesta ante el cambio por encima de seguir un plan.

A partir de estos nuevos valores, los firmantes redactaron los siguientes principios, de los que se derivan y que constituyen los principios del manifiesto Agile (Ágil).

  • Nuestra principal prioridad es satisfacer al cliente a través de 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 período de tiempo más corto posible.
  • Los responsables del 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 sostenido. Los promotores, desarrolladores y usuarios debemos 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.

Todo esto marcó un antes y un después en las metodologías de desarrollo de software. Si estás leyendo esto seguramente ya estás usando alguna metodología ágil o estás cerca de formar parte de algún equipo que las use… ¿Cierto?

Espero que el artículo te haya sido útil para aclarar “qué es eso de Agile” 🙂