En mis propias palabras:
Agile es un conjunto de metodologías de gestión de proyectos cuyo objetivo es el desarrollo de productos (software).
Se basa en las necesidades cambiantes del negocio o usuarios finales y ocurre en ciclos iterativos incrementales relativamente cortos (de 1 a 4 semanas).
Adventures with Agile es una empresa en Londres que se dedica al coaching empresarial sobre metodologías Agile.
Simon Powers, su CEO, tiene una definición de Agile muy interesante y más enfocada al ambiente empresarial y corporativo:
«Agile es la capacidad que tiene una organización para alinear sus operaciones, visión, y estrategia con la producción de entregables para sus clientes de forma rápida y efectiva, explorando e innovando con costos y riesgos bajos, calidad sostenida, y sin afectar el bienestar de su staff.»
Diferencias entre las metodologías Agile y las metodologías tradicionales
Las metodologías tradicionales se pueden conjugar en un modelo conocido como Waterfal (Cascada).
Dicho modelo cuenta con las siguientes características:
- Es estrictamente Regulada
- Dependiente de una planeación previa
- Favorece la micro-administración
- Ciclos largos de desarrollo (6 a 18 meses)
- Carece de feedback por parte del usuario final el cual se obtiene hasta la entrega final del producto
Las metodologías Agile por su parte tienen las siguientes características:
- Mayor flexibilidad
- Se alimentan del feedback continuo de clientes y usuarios finales
- Favorecen la interdependencia (Factor Clave)
- Ciclos iterativos cortos de 1 a 4 semanas
- Se busca la mejora continua entre iteraciones mediante sesiones de retro-alimentación del equipo a cargo
3 principales metodologías ágiles en uso actualmente
- Scrum (Ken Schwaber, Jeff Sutherland)
- Kanban (Taiichi Ohno)
- Lean
- Software development (Mary Poppendieck, Tom Poppendieck)
- Startup (Eric Ries)
Existen otras metodologías que también se consideran ágiles y son las siguientes:
- Adaptive software development (ASD) (Jim Highsmith, Sam Bayer)
- Agile modeling (Scott Ambler, Robert Cecil Martin)
- Agile unified process (AUP) (Scott Ambler)
- Disciplined agile delivery (Scott Ambler)
- Dynamic systems development method (DSDM)
- Extreme programming (XP) (Kent Beck, Robert Cecil Martin)
- Feature-driven development (FDD) (Jeff De Luca)
- Rapid application development (RAD) (James Martin)
- Scaled Agile Framework – SAFe (Scaled Agile, Inc.)
Conclusión
Dentro del universo de metodologías para la gestión de proyectos y desarrollo de software existen dos vertientes principales
- Metodologías tradicionales: Waterfall o Cascada
- Metodologías ágiles: Lean, Scrum y Kanban
Las metodologías tradicionales fueron usadas con «éxito» hasta finales de los 90 porque se comenzó a ver el beneficioen la implementación de metodologías Agile
Las metodologías Agile constituyen hoy en día los modelos de gestión y desarrollo no solo de software, sino de productos y servicios en numerosas industrias a nivel global.
Estos son algunos factores clave para ello:
- Alta demanda del mercado
- Cortos tiempos de para reacción y toma de decisiones
- Alta competitividad
- Altos costos de desarrollo
En el próximo artículo detallaré el papel que juega la interdependencia en las metodologías ágiles