La historia de Agile

Rodrigo Ricardo Publicado el 17 octubre, 2020 5 minutos y 29 segundos de lectura

La vida antes de Agile

Hoy en día, los gerentes de proyectos pueden elegir entre numerosas metodologías que abordan el ciclo de vida del desarrollo de software (SDLC) para adaptarse a un proyecto en particular. Las mejores opciones son las metodologías ágiles , que permiten a los equipos responder a los requisitos cambiantes y la imprevisibilidad del cliente a través del trabajo de proyecto incremental e iterativo.

Sin embargo, ese no siempre fue el caso. En un momento, SDLC siguió un proceso rígido de recopilación de requisitos, diseño del software, implementación del software, verificación de la funcionalidad y mantenimiento del software. Las fases se completaron en ese orden, sin desviaciones.

Cada fase del proceso se completó en su totalidad y se aprobó antes de que comenzara el siguiente proceso. Un cambio en algo en una fase anterior devolvió todo el proyecto al inicio y cada fase fue rehecha y aprobada. Por ejemplo, si un requisito para que el software rellene automáticamente un campo, por ejemplo, no se conocía hasta la fase de implementación, todo el proyecto se detendría y volvería a la fase de requisitos. Básicamente, el proyecto comenzaría de nuevo.

Si bien es difícil de creer en el rápido mundo tecnológico actual, la inflexibilidad de este proceso no obstaculizó el desarrollo de software. Esto se debe a que al principio de su historia, el software era una programación bastante simple que se utilizaba para automatizar tareas humanas. La innovación tecnológica fue lenta y los negocios se desarrollaron a un ritmo mucho más fácil. No era raro pasar varios meses reuniendo requisitos y diseñando un programa de software sin que se requiriera un solo cambio. Con más de 20 años entre la invención del sistema informático moderno y el lanzamiento de la primera computadora personal, no se necesitaba una metodología de desarrollo de software rápida o receptiva.

El camino hacia la metodología ágil

A fines de la década de 1970, ocurrió la explosión de las computadoras personales. Con él, el ciudadano medio obtuvo acceso a la informática moderna. La demanda de los consumidores impulsó la innovación a un ritmo más rápido que nunca. Las empresas que se esfuerzan por satisfacer los deseos siempre cambiantes de los clientes aceleraron el ritmo al que cambiaban las necesidades comerciales.

El desarrollo de software necesitaba adaptarse al ritmo y los cambios, y la metodología rígida que había gobernado el mundo de SDLC no podía mantenerse al día. Simplemente, no podía entregar el software con la suficiente rapidez ni responder eficazmente a los cambios de requisitos durante el desarrollo.

A principios de la década de 1990, un pequeño grupo de líderes de la industria del software comenzó a desarrollar y promover enfoques innovadores para SDLC, que adoptaron la reacción rápida y la adaptación a los requisitos y tecnologías cambiantes. Rapid Application Development (RAD), Rational Unified Process (RUP), Scrum y Extreme Programming (XP) se convirtieron en las nuevas metodologías de desarrollo de software, altamente receptivas y flexibles que se utilizaron.

A principios de la década de 2000, un pequeño grupo de líderes de la industria del software se reunió en Snowbird, Utah, para discutir estas nuevas metodologías. El término desarrollo ágil de software se acuñó en 2001 para describir la naturaleza flexible del software desarrollado en etapas iterativas y se convirtió en un término general para las nuevas metodologías.

Para distinguir el desarrollo de software ágil de las metodologías tradicionales, los líderes de Snowbird, Utah, propusieron un conjunto de valores para usar ágil, llamado Manifiesto Agile. En él, los autores promueven:

  • Individuos e interacciones sobre procesos y herramientas
  • Software de trabajo sobre documentación completa
  • Colaboración con el cliente sobre la negociación del contrato
  • Responde al cambio sobre el siguiente plan

En resumen, si bien ágil reconoce la necesidad de procesos y herramientas, documentación, contratos y planes, el enfoque es satisfacer rápidamente las necesidades del cliente con productos de software que funcionen.

Agile hoy

Hoy, la metodología ágil no se limita al desarrollo de software. La metodología ágil se utiliza para describir a cualquier persona que utilice los principios del manifiesto ágil, ya sea que el objetivo sea desarrollar software o no. Cualquier equipo, incluso organizaciones enteras, que se enfrenten a prioridades cambiantes, requisitos cambiantes, la necesidad de colaboración y retroalimentación receptiva, o recursos matriciales encontrarán una eficacia ágil.

A medida que ágil ha ganado popularidad, también ha ganado credibilidad con certificaciones. Las certificaciones más comunes son la metodología ágil en general o la específica de Scrum. Los programas generales de certificación ágil denotan experiencia en una variedad de metodologías ágiles e indican que el titular tiene un amplio conocimiento y experiencia en el uso de ágil. La certificación Scrum indica un dominio de la metodología Scrum específicamente, sin el reconocimiento de la experiencia del titular o el conocimiento de otros métodos ágiles.

Resumen de la lección

Muy bien, tomemos un momento para revisar lo que hemos aprendido. Las populares metodologías ágiles de hoy en día permiten a los gerentes de proyectos responder a los requisitos cambiantes y la imprevisibilidad del cliente a través del trabajo de proyecto incremental e iterativo. Sin embargo, las primeras metodologías de gestión de proyectos eran rígidas y estaban centradas en los procesos. Debido a que la tecnología no avanzó rápidamente, las metodologías de desarrollo más lentas fueron suficientes.

Sin embargo, durante la explosión de las computadoras personales, la demanda de los consumidores y las empresas impulsó ciclos de desarrollo más rápidos con requisitos que cambiaban con frecuencia. Las metodologías tradicionales no pudieron mantenerse al día y se desarrollaron metodologías ágiles para llenar el vacío.

En 2001, un grupo de líderes de la industria del software se reunió y acuñó el término desarrollo ágil de software como término general para las nuevas metodologías. En esa reunión, se redactó el Manifiesto Ágil para comunicar los valores de ágil:

  • Individuos e interacciones sobre procesos y herramientas
  • Software de trabajo sobre documentación completa
  • Colaboración con el cliente sobre la negociación del contrato
  • Responde al cambio sobre el siguiente plan

Explora más sobre este tema

Selecciona un tema y sigue aprendiendo...

Rodrigo Ricardo
Rodrigo Ricardo Editor y fundador