Desarrollo Ágil Software

Proceso iterativo de construcción de software, cuyas metodologías se adhieren al Manifiesto Ágil de Software, y cuya prioridad es la satisfacción total del cliente.

Las metodologías ágiles son la respuesta a la problemática generada por las formas tradicionales de desarrollo de software, donde un diseño rígido y estructural, así como una cronograma implacable, generaban contínuos fracasos e incumplimientos cuando se enfrentaban a la dura realidad:

"El contínuo cambio en los requerimientos del software y los fallos detectados en el diseño y la planificación".

Las características asumidas por dichas metodologías (reflejadas en el manifiesto mencionado) son:

  • Entregas tempranas y contínuas del software para su evaluación.
  • Flexibilidad ante los cambios de requerimientos. Cada ajuste se acerca cada vez más a lo deseado por el cliente.
  • Las entregas se hacen frencuentes, entre un período de dos semanas y dos meses, con preferencia al tiempo más corto posible.
  • El cliente y los desarrolladores forman parte del mismo equipo.
  • La motivación es primordial en el equipo de desarrollo.
  • La comunicación preferida es cara a cara.
  • El ritmo de desarrollo debe ser sostenido.
  • La excelencia técnica y la calidad es sinónimo de agilidad.
  • Simple, simple, ante todo.
  • Revisión contínua y ajuste del comportamiento del equipo.

Existen varias metodologías que siguen  estos principios, todas las que mencionaremos a continuación se apegan a la declaración del manifiesto, pero cada uno de ellas tiene su visión de como debe ser el proceso de desarrollo de software más efectivo y de mayor calidad.  Entre ellas tenemos.

XP:  Extreme Programming;  la primera de todas las metodologías ágiles, ha sido la más utilizada y con mayor número de casos reconocidos de éxito.

 

Srcrumm:  Desarrollo ágile focalizado en el manejo de equipos.

FDD:  Feature Driven Development.