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:
- Requerimientos
- Diseño
- Programación
- Pruebas
- 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:
- Entiende el qué (límite diario).
- Cuestiona el para qué (seguridad, regulación, fraude).
- 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.
1.10 Metodologías De Desarrollo De Software
https://jangelmm.github.io/posts/informatica/ingenieriasoftware/programacion-web/1-introducción-a-las-aplicaciones-web/110-metodologías-de-desarrollo-de-software/