Origen de las metodologías ágiles
Los pilares del cambio de mentalidad
Al mismo tiempo que la informática comenzó a ser parte fundamental en las empresas a principios de la década de los 90, el desarrollo de software entró en una crisis conocida como la crisis del desarrollo de aplicaciones.
Producción a largo plazo
Las empresas informáticas y su personal experto consideraron que el tiempo entre una necesidad comercial y la producción de la aplicación en sí era de aproximadamente tres años.
Demasiado.
Su clientela pensó lo mismo: necesitaban actualizar su software y en esos tres años de espera, las necesidades ya habían vuelto a cambiar de nuevo, por lo que cancelaban el encargo a mitad de proceso.
Cambio en las necesidades
También se daba el caso de que proyectos que sí lograban llegar a término no cumplían las demandas iniciales del proyecto.
Cambio en la mentalidad
Era necesario un cambio de mentalidad, naciendo así la idea de centrar el negocio en el cliente final, que demandaba cada vez mayores resultados y más efectivos en menor tiempo. Y para conseguirlo, habría que implantar un método de gestión de proyectos que se distinguiera por su rapidez y flexibilidad.
En definitiva, había que ser más ágiles. En un mundo de negocios cambiantes, donde los ciclos productivos son más cortos y la clientela más exigente, no sorprende que las metodologías que funcionaban en los 70 necesitaran una profunda reforma a partir de los años 90. Aun así, estos cambios venían aplicándose desde el año 1957 hasta el año 2001, en el que se firma el Manifiesto Ágil.
¿Cómo fue esa reforma? ¿Cuáles fueron los acontecimientos fundamentales? Veámoslos a continuación:
1957
Desarrollo de software incremental
En Los Ángeles, bajo la dirección de Bernard Dimsdale en el Service Bureay Corporation de IBM (empresa multinacional estadounidense de tecnología y consultoría), nacen los métodos de desarrollo de software incremental, es decir, procesos en los que se va construyendo el producto final de manera progresiva.
1974
Desarrollo de software adaptativo
Un artículo de E. Edmonds (artista británico pionero en el campo del arte computacional) introdujo el concepto del proceso de desarrollo de software adaptativo, es decir, métodos de trabajo en los que se generan continuamente versiones adicionales gracias a procesos de desarrollo rápidos y cortos. De ahí, por ejemplo, el continuo cambio en las versiones de los programas o sistemas operativos con los que trabajamos y que no suponen actualizar nuestros dispositivos.
1977
Gestión de Proyectos Evolutivos
A finales de la década de 1970, se comenzaron a publicar en Estados Unidos artículos contando en qué consiste la metodología de Gestión de Proyectos Evolutivos (EVO por sus siglas en inglés de Evolutionary Project Management), es decir, una metodología de trabajo en la que se genera un mínimo producto viable en el menor tiempo posible para después de esa primera entrega, mejorarlo de manera continua.
Década de los 90
Métodos livianos
Como reacción contra los métodos tradicionales de creación de software, surgieron los llamados métodos livianos de desarrollo ágil y se realizaron las primeras implementaciones de estos métodos:
• RUP (Rational Unified Process).
• Scrum.
• DSDM (Dynamic Systemas Dev.Method).
• Crystal Clear.
• XP (Extreme Programming).
• ASD (Adaptative Software Development).
• FDD (Feature Driven Development).
Algunos de estos métodos se definirán y se verán en profundidad a lo largo del curso.
2001
Manifiesto Ágil
Kent Beck, ingeniero de software estadounidense, reunió a 17 expertos en programación para debatir sobre los procesos y técnicas de desarrollo de software. De este encuentro nació lo que conocemos hoy como metodologías ágiles. Posteriormente, crearon una organización sin ánimo de lucro llamada Alianza Ágil (Agile Alliance) para ayudar a las organizaciones que lo quisieran, a aplicar este modelo de trabajo y firmaron el Manifiesto Ágil, un documento que resume en 4 valores y 12 principios esta nueva manera de proceder. Las metodologías ágiles ponen el foco en la capacidad de respuesta a los cambios, la confianza en las habilidades del equipo y mantener una buena relación con la clientela.
Las metodologías ágiles estaban orientadas inicialmente a proyectos de desarrollo de software, pero su efectividad hizo que se expandieran a proyectos de otra índole.
Valores de las metodologías ágiles
El Manifiesto Ágil es el documento más influyente e importante de la ingeniería del software, además de ser uno de los que más han influido en la forma de desarrollar el trabajo.
Valores
Como hemos visto, este manifiesto se resume en 4 valores y en 12 principios que definen el marco de trabajo de cualquier equipo ágil. A continuación, enumeramos los valores y los explicamos:
1. Individuos e interacciones por encima de procesos y herramientas, es decir, las personas son lo más importante y no al revés y se apoyan en procesos y herramientas que se deben adaptar para cumplir sus objetivos.
2. Software funcionando por encima de documentación exhaustiva. Para las metodologías ágiles es más interesante el feedback temprano que puedan dar las personas usuarias al interactuar con un prototipo que un documento detallado de requisitos.
3. Colaboración con el cliente por encima de negociación contractual. El cliente es esencial para definir los requisitos de un producto propio de un entorno en constante cambio.
4. Respuesta ante el cambio por encima de seguir un plan. Las metodologías ágiles valoran la capacidad de respuesta y la adaptación a los cambios frente a la planificación o el control.
Por tanto, las metodologías ágiles permiten amoldar la forma del trabajo a las condiciones del proyecto. Esto hará que el proyecto esté dotado de flexibilidad y rapidez a la hora de comunicarse con la clientela para adaptar el proyecto a sus necesidades.
Principios de la metodología ágil
1. Nuestra principal prioridad es satisfacer al cliente a través de la entrega temprana y continua de software con valor.
El objetivo es lograr que la clientela esté contenta con la solución para conseguir más clientes. Para ello, hay que proporcionarles soluciones rápidas y adaptadas a sus necesidades.
2. Aceptamos que los requisitos cambien, incluso en etapas tardías del desarrollo. Los procesos ágiles aprovechan el cambio para proporcionar una ventaja competitiva al cliente.
Las metodologías ágiles aceptan el cambio como parte de su proceso de trabajo, un paso más para acercarnos a la solución que realmente la clientela desea.
3. Entregar software funcional frecuentemente, desde cada dos semanas hasta cada dos meses, con preferencia al periodo de tiempo más corto posible.
Cuando la clientela utiliza la solución, la entiende mejor y proporciona información que permite a la empresa seguir mejorándola y adaptándola.
4. Los responsables del negocio y los desarrolladores deben trabajar juntos día a día durante todo el proyecto.
Todos los miembros de la empresa trabajan conjuntamente y a diario para llegar a una solución final que cumpla con las necesidades de la clientela.
5. Construir proyectos en torno a individuos motivados. Hay que darles el entorno y el apoyo que necesitan y confiar en ellos para la ejecución del trabajo.
Un entorno ágil se basa en un equipo con múltiples funciones que se gestiona y se organiza sin recibir órdenes.
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.
Todos los miembros del equipo deben estar localizados para poder comunicarse continuamente.
7. El software funcionando es la medida principal de progreso.
El progreso de un producto o una solución solo se mide si está completo o no, no hay avances intermedios que lo hagan más completo de entender por parte de la clientela.
8. Los procesos ágiles promueven el desarrollo sostenible. Los promotores, desarrolladores y usuarios deben ser capaces de mantener un ritmo constante de forma indefinida.
El objetivo principal es alcanzar el producto final o la solución deseada, manteniendo un ritmo de trabajo continuado y sostenido a lo largo del tiempo.
9. La atención continua a la excelencia técnica y al buen diseño mejora la agilidad.
En los proyectos ágiles el diseño se realiza en cada elemento del producto o la solución, no tiene por qué existir un diseño inicial.
10. La simplicidad, o el arte de maximizar la cantidad de trabajo no realizado, es esencial.
Los proyectos ágiles se coordinan, gestionan y entregan de manera simple porque así, además, facilitamos la colaboración de la clientela en todo el proceso.
11. Las mejores arquitecturas, requisitos y diseños emergen de equipos auto-organizados.
Todos los miembros del equipo de trabajo son responsables de todas las fases del proyecto y deciden cómo organizarse y funcionar.
12. A intervalos regulares, el equipo reflexiona sobre cómo ser más eficaz para, a continuación, ajustar y perfeccionar su comportamiento en consecuencia.
Siempre hay margen de mejora y para ello, se deben dejar espacios para investigar cómo mejorar cada paso o proceso de trabajo.
Características de la metodología ágil
Las empresas que han decidido apostar por una cultura organizacional basada en la transformación digital, implementan metodologías ágiles.
El 70% de las grandes empresas españolas usan metodologías ágiles de forma regular según un estudio elaborado por la asociación Business Agility Corporation (BAC).
Si bien existen diversas metodologías ágiles, estas son las más utilizadas:
SCRUM
Es un tipo de metodología donde los miembros de un equipo multidisciplinar colaboran en la construcción de un producto de manera que sea valioso desde sus primeras versiones. Para alcanzar esta entrega de valor tan rápida y continua, los equipos trabajan en ciclos de ejecución cortos, denominados "sprints" con un objetivo muy claro.
KANBAN
Para entender esta metodología solo tenemos que traducir su nombre: Kanban es un término japonés que significa "tarjeta visual". Esta metodología propone organizar el trabajo a través de la clasificación de las tareas en 3 columnas: tareas pendientes, en proceso y terminadas.
EXTREME PROGRAMMING (XP)
eXtreme Programming (XP) o programación extrema, es una metodología que se basa principalmente en la creación de un vínculo entre la clientela y el equipo de proyecto, que interactúan permanentemente, facilitando la introducción de cambios en el producto o en la solución. Está diseñada para ofrecer el producto o la solución que los usuarios y usuarias necesitan en el momento adecuado.
Principales características de las metodologías ágiles
Las metodologías ágiles reúnen una serie de características que facilitan el logro de objetivos dentro de una organización.
A continuación, se enumeran las características que definen las metodologías ágiles comparándolas con las características principales de las metodologías tradicionales:

Metodologías LEAN
Metodologías parecidas, pero no iguales
Estas dos metodologías gozan de gran popularidad entre las empresas de todo el mundo en la gestión de proyectos, ya que son de una gran ayuda a los distintos equipos de trabajo para obtener resultados más eficientes en menos tiempo.
Es importante conocer las diferencias entre estas dos metodologías, ya que se suelen confundir. Interiorizando los conceptos será más fácil garantizar una correcta implantación de cada método.
¿Qué es la metodología Lean?
En Japón, entre los años 50 y 60, el ingeniero de la Toyota Motor Corporation Taiichi Ohno desarrollaría el término Lean que hace referencia a la búsqueda de la mejora y optimización del sistema de producción, intentando eliminar todas aquellas acciones innecesarias que no añaden valor en el proceso de producción.
Por aquella época, la metodología se centraba en conseguir que la fabricación de vehículos de la marca fuese más eficiente. La idea fue todo un éxito, ya que se consiguió mejorar la productividad a través de dos objetivos claros:
1. Eliminar todo lo que se considerase un desperdicio (ya fuese en términos materiales o de tiempo).
2. Identificar aquellas sobrecargas que ralentizan el proceso de producción.
Con los años se demostró que la metodología Lean es aplicable a cualquier empresa o sector que desee introducir o mejorar un producto o servicio en el mercado. Así surgió, en el año 2011, el Lean Manufacturing.
¿Sabías qué...?
Taiichi Ohno se inspiró en un supermercado para crear la metodología Lean. Pensó que cuando vas a la compra coges lo que necesitas y pasas por caja. El producto que has comprado es repuesto en las estanterías de forma que siempre hay una cantidad igual de stock disponible. Tan solo se repondrá el producto cuando las ventas tiran de las existencias. Ni antes ni después, sino el momento justo (Just In Time)
Principios de la metodología LEAN
Identificar el valor del producto
Se deben conocer muy bien las necesidades de la clientela para definir prioridades y procesos basados en la resolución y satisfacción de dichas necesidades. ¿Qué actividades o procesos generan valor para mi clientela?
Estudiar la cadena de valor
Hay que identificar las actividades y operaciones que deben ocurrir para generar valor y entregar lo que la clientela demanda.
Promover el flujo de trabajo
Una vez definida la cadena de valor, es necesario facilitar el flujo de materiales y productos para cumplir con las necesidades de la clientela. Para ello hay que detectar los procesos más lentos o cuellos de botella, dividir el trabajo y eliminar interrupciones.
Permitir que el cliente obtenga lo que desea
Se trata de dejar que la clientela lo obtenga cuando lo desea, como lo desea y en la cantidad que lo desea. Esto también conlleva no producir sin demanda.
Buscar la mejora continua
Esta metodología busca la continua perfección y para ello, requiere abordar las causas fundamentales de los problemas de calidad y buscar y eliminar pérdidas en toda la cadena de valor.
La metodología Lean nos enseña que cada proceso del proyecto tiene que ser inspeccionado de manera constante, identificando fallos y diseñando las adaptaciones necesarias para mejorarlo.
¿Qué tienen en común la metodología Lean y las metodologías ágiles?
Las dos metodologías otorgan una gran importancia a la entrega de un producto o proyecto que resuelva las necesidades de la clientela lo antes posible.
De igual manera, buscan la continua adaptación de sus procesos a los constantes y continuos cambios del mercado, así como también a los requerimientos y necesidades de la clientela.
Personas ágiles
A una persona ágil le gusta trabajar en equipo, es creativa, está en contacto constante con la clientela. Además, evita las horas extra porque uno de los principios ágiles es mantener un ritmo constante, para mantener la calidad del producto y el ánimo del equipo. Pero ¿existen más características que definen a una persona ágil? ¿Qué diferencias existen entre parecer ágil y ser realmente ágil?
PARECER ÁGIL
En este estado predomina:
• Visión: de postureo o por imposición.
• Orientación: metodológica.
• Aplicación: en el desarrollo de un producto.
SER ÁGIL
Es el estado en el que se aspira a:
• Visión: foco en el aporte de valor.
• Orientación: 3D (técnica, estructural, cultural, etc.).
• Aplicación: soluciones extremo a extremo (End to End Solutions o E2E). Por ejemplo, en una empresa proveedora de software, además de suministrar una solución, la persona ágil estará presente en todas las fases de interacción con la clientela para participar de la solución).
La agilidad no es una moda, ni exclusivamente una metodología y no solo se aplica al desarrollo de un producto.
Características de una persona ágil
Orientación a producir valor
Una persona miembro del equipo ágil tiene que estar orientada a producir con calidad y compaginar los siguientes aspectos:
• Se preocupa por proporcionar valor a la persona usuaria o consumidora.
• Tener una visión a medio plazo de los objetivos a conseguir.
• Buscar simplicidad y utilidad.
• Pasión y orgullo por el trabajo: es exigente con la calidad técnica, disciplinada y metódica, para que el producto pueda crecer de manera sostenida.
Capacidad de trabajar en equipo
La persona miembro del equipo ágil tiene que favorecer la comunicación y para ello debe poseer las siguientes aptitudes:
• Transparencia en las tareas.
• Franqueza con la clientela sobre el proyecto.
• No adueñarse del conocimiento, sino compartirlo y ser capaz de enseñar.
• Escucha activa.
• Confianza.
• Negociación: es necesario llegar a consensos para acordar los avances y características de los entregables.
Mejora continua
La persona miembro del equipo ágil es capaz de conjugar el progreso técnico y el humano. Para ello, debe poseer ciertas habilidades, como son:
• Humildad. Tener una mente abierta a escuchar ideas diferentes de otras personas y flexibilidad para probar nuevas cosas.
• Capacidad de autocrítica. Reconocer equivocaciones y tomarlas como oportunidades de mejora. No culpabilizar.
• Capacidad de reflexión e inconformismo productivo. Cuando algo no funciona, ser capaz de cuestionar cómo se están haciendo las cosas.
• Creatividad. Tener la capacidad de aprender e innovar.
La persona líder y ágil busca el máximo retorno de inversión en relación con el esfuerzo dedicado a cada tarea, equilibrando valor y coste, es decir, tiene claro que el 80% de sus resultados provienen del 20% de su esfuerzo y tiempo.
Para eso realiza dos acciones:
1. Detecta aquellos procesos donde debe focalizar el esfuerzo para conseguir mejores resultados.
2. Detecta las ineficiencias y se asegura de eliminarlas.
Lectura facilitada
El texto "Origen de las metodologías ágiles" explora el desarrollo histórico y la evolución de las metodologías ágiles desde la crisis del desarrollo de software en los años 90 hasta la firma del Manifiesto Ágil en 2001, destacando varios hitos importantes:
-
Crisis del desarrollo de aplicaciones (años 90):
- El desarrollo de software enfrentó una crisis debido a largos tiempos de entrega (hasta tres años), que no satisfacían las necesidades cambiantes del mercado. Esto llevó a cancelaciones frecuentes de proyectos.
-
Cambio en la mentalidad (década de los 90):
- Surge la necesidad de centrar el negocio en las demandas del cliente final, buscando resultados más rápidos y efectivos. Esto marcó el inicio del enfoque ágil en la gestión de proyectos.
-
Antecedentes históricos:
- Desde 1957 se gestaron métodos como el desarrollo incremental y adaptativo, que sentaron las bases para metodologías ágiles posteriores como Scrum, XP, entre otras.
-
Manifiesto Ágil (2001):
- Kent Beck y otros líderes del desarrollo de software redactaron el Manifiesto Ágil, estableciendo cuatro valores fundamentales: individuos e interacciones sobre procesos y herramientas, software funcionando sobre documentación extensiva, colaboración con el cliente sobre negociación contractual, y respuesta al cambio sobre seguir un plan.
-
Principios y características de las metodologías ágiles:
- Principios como satisfacción del cliente a través de entregas continuas, aceptación de cambios tardíos en requisitos, entrega frecuente de software funcional, y colaboración diaria entre el negocio y los desarrolladores, definieron el marco de trabajo ágil.
-
Metodologías ágiles populares:
- Se destacan metodologías como Scrum, Kanban y XP, cada una con enfoques específicos pero compartiendo la agilidad como principio central.
-
Comparación con Lean:
- Se distingue Lean como otra metodología eficiente, centrada en eliminar desperdicios y optimizar la cadena de valor, aunque con diferencias claras respecto a las metodologías ágiles en cuanto a enfoque y aplicación.
-
Características de una persona ágil:
- Se describen las cualidades necesarias para ser ágil, como la orientación al valor, capacidad de trabajo en equipo, y el compromiso con la mejora continua, destacando la importancia de estas habilidades en el entorno ágil.
En resumen, el texto aborda de manera detallada el origen, desarrollo y aplicación de las metodologías ágiles, desde sus raíces históricas hasta su adopción generalizada en diversos sectores industriales como respuesta a las demandas de un mercado dinámico y exigente.