El Agile Manifesto, el Manifesto de desarrollo, se compone de 4 valores y 12 principios que sirven para enfocar el desarrollo de software de forma ágil. Su origen se encuentra en el 2001, causado por la frustración de la industria de la década de 1990, a causa de la entrega de tecnología que no correspondía a las necesidades de los clientes debido a los cambios que solicitaba el cliente durante el desarrollo y que, en consecuencia, daba lugar a una gran cancelación de proyectos.
Cada metodología ágil aplica los cuatro valores de diferentes maneras, pero todos ellos dependen de ellos para guiar el desarrollo y la entrega de software de alta calidad.
Nos adecuamos a los 4 valores de The Agile Manifesto en Uorkers.
4 Valores del Manifiesto Ágil
Cada uno de los siguientes valores, marcan una prioridad sobre otra.
1. Individuos e Interacciones por encima de los procesos y herramientas.
El primer valor en el Manifiesto Ágil implica valorar a las personas más que los procesos o las herramientas, es fácil de entender, porque son las personas las que responden a las necesidades del negocio y dirigen el proceso de desarrollo.
Si el proceso o las herramientas impulsan el desarrollo, el equipo responde peor al cambio y es menos probable que satisfaga las necesidades del cliente. La comunicación es un ejemplo de la diferencia entre valorar individuos en lugar del proceso. En el caso de las personas, la comunicación es fluida y ocurre cuando surge la necesidad. En el caso del proceso, la comunicación está programada y requiere contenido específico.
2. Software operativo por encima de la documentación comprensiva.
El Manifiesto Ágil valora la documentación, pero valora más el software de trabajo.
Históricamente, se han invertido enormes cantidades de tiempo en documentar el producto para su desarrollo y su entrega definitiva. Especificaciones técnicas, requisitos técnicos, prospecto técnico, documentos de diseño de interfaz, planes de prueba, planes de documentación y aprobaciones requeridas para cada uno. La lista era extensa y causaba largas demoras en el desarrollo. El Manifiesto Ágil no elimina la documentación, pero la optimiza en una forma que le da al desarrollador lo que se necesita para hacer el trabajo sin obsesionarse en minucias. Los documentos ágiles son requeridos como historias para usuarios, que son suficientes para que un desarrollador de software comience la tarea de construir una nueva función.
3. Colaboración con el cliente por encima de la negociación contractual.
La negociación es el período en el que el cliente y el gerente de producto resuelven los detalles de una entrega, con puntos donde los detalles pueden renegociarse, pero en este caso la colaboración es una criatura diferente por completo.
Con modelos de desarrollo como Waterfall (en cascada), los clientes negocian los requisitos para el producto, a menudo con gran detalle, antes de iniciar cualquier trabajo. Esto significaba que el cliente estaba involucrado en el proceso antes de que comenzara el desarrollo y después de que se completara, pero no durante el proceso. En el Manifiesto Ágil se describe a un cliente que participa y colabora en todo el proceso de desarrollo. Esto hace que sea mucho más fácil para el desarrollo satisfacer las necesidades del cliente. Los métodos ágiles pueden incluir al cliente durante periodos, o intervalos, para demostraciones periódicas, pero un proyecto podría fácilmente tener un usuario final como parte diaria del equipo y asistir a todas las reuniones, asegurando que el producto satisfaga las necesidades comerciales del cliente.
4. Responder al cambio por encima de seguir el plan.
La visión del manifiesto ágil, es que los cambios siempre mejoran un proyecto; los cambios proporcionan un valor adicional.
El desarrollo de software tradicional consideraba el cambio como un gasto, por lo que éste debía evitarse. La intención era desarrollar planes detallados y elaborados, con un conjunto definido de características. Todo tenia la misma prioridad, ésta era tan alta como todo lo demás, y al sumarle, un gran número de dependencias entregadas en cierto orden, para que el equipo pueda trabajar en la siguiente pieza del rompecabezas. Con el método ágil, la brevedad de una iteración significa que las prioridades se pueden cambiar, de iteración a iteración, y se pueden agregar nuevas características en la siguiente iteración.
12 Principios del Manifiesto Ágil
- Nuestra mayor prioridad es satisfacer al cliente mediante 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 periodo de tiempo más corto posible.
- Los responsables de 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 sostenible. Los promotores, desarrolladores y usuarios debemos ser capaces de 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.
La intención es alinear el desarrollo con las necesidades del negocio, y el éxito de la metodología ágil es evidente.