Metodologías de Desarrollo de Software: Ventajas y Desventajas
Clasificado en Diseño e Ingeniería
Escrito el en español con un tamaño de 3,29 KB
Codificar y Corregir: Proyectos Pequeños
Ventajas
- No se realiza ninguna gestión de planificación, control de calidad, etc.
- Se presenta un progreso rápido.
- Se puede usar para proyectos pequeños.
- Requiere poca experiencia del analista.
Desventajas
- ¿Cómo se mide el progreso y qué tan bien se está haciendo?
- ¿Cómo se mide la calidad de lo que se desarrolla?
- ¿Qué pasa si se cae en cuenta de que hay puntos errados? ¿Hay que corregir y empezar de nuevo?
Modelo en Cascada: Proyectos Pequeños con Requisitos Claros
Ventajas
- Por ser lineal, es simple.
- Se necesitan recursos mínimos.
- El modelo obliga a tener todo bien documentado.
- Se estila a realizar pruebas después de codificar (desarrollo y testing).
Desventajas
- Inflexible para incorporar nuevos requisitos o gestiones de cambio.
- Los cambios e iteraciones son costosos.
- No se entrega el producto hasta el final, a veces el cliente no recibe lo que pide.
- Los errores se propagan como “bola de nieve”.
Desarrollo Evolutivo: Proyectos Pequeños
Ventajas
- Mejor entendimiento de los requisitos.
- Mejor que el modelo de cascada, ya que se ajustan los requerimientos iterativamente.
Desventajas
- No es efectivo para proyectos con tiempo límite.
- La iteración progresiva eleva los costos.
Desarrollo Formal de Sistemas: Proyectos Especiales
Ventajas
- No son necesarias pruebas para verificar la correspondencia con las especificaciones.
- Garantiza el cumplimiento de las especificaciones al 100%.
- El mantenimiento se hace sobre las especificaciones, no se codifica (mayor calidad).
Desventajas
- Necesita desarrolladores especializados y tecnología avanzada.
- Es un modelo caro y lento.
- Dificultad en la especificación.
Desarrollo Basado en Reutilización: Cualquier Proyecto
Ventajas
- Hay un ahorro de costo en horas hombre.
- Se reduce el tiempo de entrega del producto final.
- Menos desarrollo, mayor calidad.
Desventajas
- Como los componentes son estándar, cabe la posibilidad de que no se cumpla con los requisitos del cliente.
- Muchos componentes no están en manos de los desarrolladores, hay dependencia.
Desarrollo Incremental (Proceso Iterativo): Cualquier Proyecto
Combinación del modelo en cascada y evolutivo.
Ventajas
- Entregables incrementales (el cliente no espera hasta el fin del desarrollo).
- El manejo de los requisitos es iterativo.
- Se reduce el riesgo de fracaso, mayor calidad.
Desventajas
- Los incrementos deben ser pequeños y significativos (aumentar funcionalidad).
- Es difícil establecer las correspondencias entre requisitos e incrementos.
Desarrollo en Espiral (Proceso Iterativo): Cualquier Proyecto
Ventajas
- Es excelente gestionando los riesgos.
- El manejo de los requisitos es iterativo, hay mayor calidad.
Desventajas
- Puede llegar a ser costoso.
- Toma mayor tiempo.