Tuesday, 23 March 2010

Qué es Agile?

Agile es cualquier forma de desarrollar software que siga los siguientes objetivos:
  • Tratar a las personas como personas no como procesos.
  • Crear software que funcione, no preocuparse tanto la documentación exhaustiva.
  • Mantener una comunicación fluída con el cliente, no solo plasmar los requisitos en un contrato.
  • Asumir que los requisitos cambian constantemente y hay que ser capaces de realizar cambios, al contrario que tratar de impedirlos o posponerlos para más tarde.
Esta es mi traducción libre e informal del Agile Manifesto que lo podéis leer en inglés.

Para lograr estos objetivos existen una serie de métodos. Los más importantes hoy en día desde mi punto de vista son:
  • Scrum
  • Programación Extrema o Extreme Programming (XP)
  • Lean
Y otras más que no voy a nombrar. Estas son las más famosas. Si queréis ver más, tenéis una lista de métodos Agile en la wikipedia.

Cada una de ellas define unas prácticas para lograr cumplir los objetivos Agile que he descrito anteriormente. Scrum define una forma de gestionar un proyecto mediante historias e iteraciones. La programación extrema utiliza tests unitarios, refactorización, programación por parejas, etc. Y Lean es una método nacido en Toyota que trata de eliminar las cosas inútiles, de potenciar al equipo, reaccionar rápido, limitar el trabajo en progreso y aumentar el flujo de producción, etc.

Esto solo es una pequeña introducción. Intentaré explicar cada cosa en futuras entradas.

No comments:

Post a Comment