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.

Entradas relacionadas: