396 words
2 minutes
1.10 Metodologías De Desarrollo De Software

17/Sep/2025

1. Manifiesto del Desarrollo Ágil#

El Manifiesto Ágil (2001) propone valores y principios para enfrentar los problemas de las metodologías tradicionales. Sus bases son:

  • Personas e interacciones sobre procesos y herramientas.
  • Software funcionando sobre documentación exhaustiva.
  • Colaboración con el cliente sobre negociación contractual.
  • Respuesta ante el cambio sobre seguir un plan rígido.

En comparación con modelos como CMMI (Capability Maturity Model Integration), que priorizan documentación y procesos estandarizados, Ágil coloca la documentación en un tercer plano: se escribe lo necesario, pero no debe entorpecer el avance.


2. Metodologías Clásicas (MC)#

Las metodologías clásicas, como el modelo en cascada, siguen fases secuenciales:

  1. Requerimientos
  2. Diseño
  3. Programación
  4. Pruebas
  5. Mantenimiento

Características:

  • El analista es el intermediario entre cliente y programadores.
  • Riesgo de “teléfono descompuesto”: lo que el cliente pide puede perderse en la traducción.
  • Los cambios son costosos, especialmente en etapas finales.
  • Alta dependencia de la documentación formal.

3. Metodologías Ágiles (MA)#

En Ágil, el programador tiene un rol más amplio:

  • Levanta requerimientos directamente con el cliente.
  • Realiza pruebas porque conoce lo que debe funcionar.
  • Corrige errores y adapta el sistema rápidamente.

Características clave:

  • Menos intermediarios → comunicación directa cliente–desarrollo.
  • Cambios bienvenidos → si hay razones claras de negocio (ejemplo: el SAT exige una modificación fiscal).
  • Presupuesto controlado → se trabaja con márgenes aceptables (±10%).
  • Alta disponibilidad → el sistema debe estar siempre en línea, sin afectar usuarios.
  • Iteraciones cortas → cada entrega parcial muestra evidencia funcional del avance.

Ejemplo: Si un banco pide una aplicación con límite diario de operaciones, en Ágil el programador:

  1. Entiende el qué (límite diario).
  2. Cuestiona el para qué (seguridad, regulación, fraude).
  3. Propone un diseño crítico, evaluando impacto y riesgos (“no poner todos los huevos en una sola cesta”).

4. ¿Por qué la Programación Ágil es Ágil?#

  • Porque elimina burocracia y roles innecesarios.
  • Porque acorta la distancia cliente–desarrollador.
  • Porque acepta cambios incluso en etapas avanzadas.
  • Porque busca disponibilidad continua (especialmente en sistemas SaaS, donde no existen “ventanas de mantenimiento” tradicionales).
  • Porque prioriza el valor entregado sobre la documentación o los contratos.

5. Glosario#

  • Manifiesto Ágil: Documento de 2001 que define valores y principios del desarrollo ágil.
  • CMMI (Capability Maturity Model Integration): Modelo para evaluar la madurez de procesos en organizaciones de software.
  • Teléfono descompuesto: Metáfora de pérdida de información por múltiples intermediarios en la comunicación.
  • Alta disponibilidad: Capacidad de un sistema de mantenerse activo casi todo el tiempo (mínimo downtime).
  • SaaS (Software as a Service): Modelo de software en la nube, siempre disponible para el usuario, sin necesidad de instalaciones locales.
  • Iteración: Ciclo corto de desarrollo donde se construye, prueba y entrega una parte funcional del sistema.
  • Ventana de mantenimiento: Tiempo programado para actualizar un sistema; en SaaS suelen minimizarse o eliminarse.