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.
