En Febrero de 2001, 17 personas representantes de diferentes prácticas ágiles como XP, Scrum, Crystal, FDD. Se reunieron para compartir experiencias en los montes Wasatch, en el estado de Utah. De este evento resulta el Manifiesto de desarrollo de software ágil, mejor conocido como Manifiesto ágil o Agile Manifesto.

Estos 17 líderes del desarrollo de software ágil, se aliaron y conformaron una comunidad llamada The Agile Alliance.

El núcleo de las metodologías ágiles, se centra en ofrecer buenos productos a los clientes al operar en un entorno que no se limita a hablar de “las personas como su activo más importante” sino que realmente “se actúa” como si las personas fueran lo más importante, desechando la palabra “activo”.

(Bob Martin, 2011).

En el Manifiesto Ágil se conforma de 4 valores y 12 principios, que comparten todas las prácticas/frameworks de trabajo ágiles.

Valores

Aunque valoramos los elementos de la derecha, valoramos más los de la izquierda.

1) Individuos e interacciones sobre procesos y herramientas.

Esto no quiere decir que en la agilidad no existen procesos y herramientas, sino que se privilegia a las personas y las relaciones entre ellas.

En enfoques ágiles, son las personas quienes definen qué herramientas y procesos usarán para interactuar, y no al revés, las herramientas y procesos no están predefinidos antes de conformar un grupo de personas.

La comunicación cara a cara es más valiosa que si se realiza a través de herramientas como teléfonos, correos o chats.

2) Software funcionando sobre documentación extensiva.

No somos enemigos de la documentación, siempre y cuando aporte valor. La definición de valor a nivel de documentación, quiere decir que lo que se documenta es extremadamente importante para la toma de decisiones, no por la falsa seguridad de querer asegurar la historia del proyecto “por si se requiere en un futuro”.

Se evitan los documentos que se utilizan como medios de comunicación, o como evidencia de la comunicación. En su lugar se debe buscar una comunicación más fluida y personal.

Lo más importante siempre debe ser el producto funcionando por encima de manuales y extensos documentos de requisitos.

La medida de progreso en las metodologías ágiles es el producto utilizable y no documentos o evidencias intermedias que se usan para llegar a ese producto.

3) Colaboración con el cliente sobre negociación contractual.

No significa que no puedan existir contratos, pero la relación con nuestros clientes o usuarios no se debe basar en documentos sino en un contexto de confianza y colaboración.

Según The Chaos Report en 1994, una de las principales causas en las metodologías tradicionales de que el 84% de proyectos fueran cancelados o desafiantes se debía a falta de involucramiento de los usuarios del sistema.

En un entorno de confianza entre usuarios y equipo de desarrollo, no es necesario trabajar bajo contratos porque se entiende que los cambios que se soliciten se hacen por un bien común. No hay intenciones ocultas que se deban evitar bajo conversaciones por escrito.

4) Respuesta ante el cambio sobre seguir un plan.

Existe un mito muy popular entorno al agilismo, donde se afirma que no se planea. De hecho, la planeación para definir una hoja de ruta, alinearse como equipo e identificar riesgos que se pueden prevenir, es un ejercicio positivo que aporta valor.

El plan que se defina, debe ser lo suficientemente flexible para que se puedan incorporar cambios y replantear el resto del proyecto, a partir del feedback y las lecciones aprendidas que se adquieren en la medida que se realizan incrementos del producto.

Principios

A partir de los 4 valores anteriores, se generan los siguientes 12 principios del desarrollo de software ágil.

  1. Nuestra mayor prioridad es satisfacer al cliente mediante la entrega temprana y continua de software con valor.
  2. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos Ágiles aprovechan el cambio para proporcionar ventaja competitiva al cliente.
  3. Entregamos software funcional frecuentemente, entre dos semanas y dos meses, con preferencia al periodo de tiempo más corto posible.
  4. Los responsables de negocio y los desarrolladores trabajamos juntos de forma cotidiana durante todo el proyecto.
  5. 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.
  6. 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.
  7. El software funcionando es la medida principal de progreso.
  8. Los procesos Ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de mantener un ritmo constante de forma indefinida.
  9. La atención continua a la excelencia técnica y al buen diseño mejora la Agilidad.
  10. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
  11. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
  12. A intervalos regulares el equipo reflexiona sobre cómo ser más efectivo para a continuación ajustar y perfeccionar su comportamiento en consecuencia.

Latest news

Check our latest articles to keep you posted!

AI in ecommerce optimizes the customer experience with personalization, fast attention and more effective searches. 
Artificial intelligence is transforming the way financial institutions approach fraud detection and prevention. Discover the key points on this topic in this article.
In an increasingly complex digital world, cybersecurity and artificial intelligence are emerging as a powerful combination to protect our systems and data.