Cuadro comparativo de los modelos y metodologías de desarrollo de software

Métodos y metodologías en el desarrollo de software
Nombre
Cascada
Espiral
Extreme Programming
Metodologías Ágiles
Descripción
En este modelo cada etapa inicia tan pronto como la anterior haya culminado, con descansos entre si, y esos descansos son usados para confirmaciones del lado del cliente.                    
Refleja la relación de tareas con prototipos rápidos, mayor paralelismo y concurrencia en las actividades de diseño y construcción. Este método debe todavía ser planificado metódicamente, con las tareas y entregables identificados para cada paso en la espiral.
Se utiliza principalmente para evitar el desarrollo de funciones que actualmente no se necesitan, pero sobre todo para  para atender proyectos complicados.
Cada una de las metodologías cuenta con su propia personalidad y características únicas, que la diferencian de las demás. Por eso a continuación, veremos cada una de las metodologías ágiles más populares, para que tengas un conocimiento más solido de lo que son y hacia donde van cada una de ellas.
Etapas
Análisis de Requisitos. 
Diseño del Sistema.
Diseño del Programa. 
Codificación.
Ejecución de Pruebas.
Verificación.
Mantenimiento.
Determinar Objetivo.
Análisis de Riesgo. 
Desarrollar, Validar y Probar.
Planificación.
Exploración
Planificación de la entrega
Iteraciones 
Producción
Mantenimiento
Muerte del proyecto
Iniciación 
Elaboración 
Construcción 
Transición
Roles
Analista de negocios 
Arquitecto Desarrollador 
Probador 
Cliente
Programador
Cliente
Tester
Tracker
Coach
Consultor
Gestor
Programador
Cliente
Tester
Tracker
Coach
Consultor
Gestor
Augur de desastres
Programador
Cliente
Tester
Tracker
Coach
Consultor
Ventajas
Un modelo lineal y, por supuesto, los modelos lineales son las más simples a ser implementadas.
La cantidad de recursos necesarios para implementar este modelo es mínimo.  

En la utilización de grandes sistemas a doblado la productividad.
El modelo en espiral puede adaptarse y aplicarse a lo largo de la vida del software de computadora.

Da lugar a una programación sumamente organizada.
Cuenta con una tasa de errores muy pequeña.
Fomenta la comunicación entre los clientes y los desarrolladores.
Puede ser aplicada a cualquier lenguaje de programación.

El cliente puede observar como va avanzando el proyecto. 
Importancia de la simplicidad al eliminar trabajo innecesario.
Ofrecen una rápida respuesta a cambios de requisitos a lo largo del desarrollo del proyecto gracias a su proceso iterativo
Desventajas
Necesita tener todos los requisitos al principio. 
No se tiene el producto hasta el final. 
El cliente no vera resultados hasta el final. por lo que puede impacientarse.
Resulta difícil convencer a grandes clientes de que el enfoque evolutivo es controlable.
Genera mucho tiempo en el desarrollo del sistema.


En caso de fallar, las comisiones son muy altas.
Requiere de un rígido ajuste a los principios de XP.
Puede no siempre ser más fácil que el desarrollo tradicional.

Falta de documentación del diseño.
Fuerte dependencia de las personas.
Restricciones en cuanto a tamaño de los proyectos.
Problemas derivados del fracaso de los proyectos ágiles.



Número de
 integrantes 
de los equipos
5
7
8
6
¿En la construcción 
de qué tipo de 
aplicaciones se usa?




Nombre de una 
empresa que la emplea




País que emplea 
dicha metodología




Comentarios

Entradas populares