Skip to content

Modelos de Desarrollo: Enfoques y Clasificaciones

Publicado:

Tabla de contenido

Ver contenido

Introducción

En el desarrollo de un proyecto, existe mucha diversidad en cuanto a la adopción de modelos según las necesidades de cada proyecto, los equipos definirán dichas necesidades específicas y optarán por el enfoque que mejor se acople.

Clasificación de Modelos de Desarrollo

Una forma común de clasificar los modelos de desarrollo es predictivos frente a adaptativos.

Modelos Predictivos

Un modelo predictivo se centra en tener una detallada lista de los requisitos del software y una buena comprensión de los mismos desde el principio, este modelo es beneficioso cuando:

Este modelo se aplica para el desarrollo de un producto completo con una base de comprensión clara de requisitos conocidos y tiene como característica la poca flexibilidad a cambios durante la etapa de implementación.

Modelos Adaptativos

Los modelos adaptativos son flexibles a cambios, son beneficiosos siempre que:

Este modelo permite que la entrega final sea diferente a lo que se esperaba al inicio del proyecto, pero dado que tiene retroalimentación contínua, se espera entrega algo más fiel a las necesidades del usuario.

Modelos Predictivos vs. Modelos Adaptativos

AspectoModelo PredictivoModelo Adaptativo
Definición de requisitosRequisitos claros y bien definidos desde el inicio.Requisitos iniciales generales; se detallan y ajustan durante el desarrollo.
Flexibilidad al cambioBaja flexibilidad; los cambios son costosos y difíciles de implementar.Alta flexibilidad; el modelo permite ajustes continuos según retroalimentación.
Participación del clienteLimitada después de definir los requisitos.Activa durante todo el proceso, con entregas frecuentes.
Entregas parcialesNo suelen entregarse versiones funcionales hasta finalizar el desarrollo.Se entregan versiones mínimas funcionales para obtener retroalimentación temprana.
Visión del producto finalClara desde el principio.Evoluciona con cada iteración; puede diferir del concepto inicial.
Cuándo usarloCuando los requisitos son estables y bien comprendidos.Cuando se espera incertidumbre o cambios durante el desarrollo.

La aplicación de estos modelos en un proyecto de software no responde a una clasificación predictiva completa ni adapativa completa, dependerá del grado de flexibilidad buscada por el equipo de desarrollo para cada tipo de proyecto.

Otro tipo de clasificación es la diferencia entre modelos incrementales e iterativos.

Modelos Incrementales

Puede solapar la construcción de un incremento con otro Los modelos incrementales pueden dar lugar a retrabajos, se centran en la entrega de nuevas funcionalidades Si el despliegue de un incremento a los usuarios reales puede beneficiar a la organización, el uso de un modelo incremental es un candidato potencial a considerar.

Modelos Iterativos

Se centran en la mejora contínua a través de retroalimentación

Modelos Incremental vs. Modelos Iterativo

AspectoModelo IncrementalModelo Iterativo
Visión del productoSe tiene una visión clara del producto final.No se tiene una idea completamente clara del producto final.
Enfoque de construcciónEl producto se construye por partes o incrementos.Se comienza con una versión simple o provisional que se mejora con cada iteración.
Uso de resultados intermediosPuede ser útil si se pueden aprovechar resultados parciales.Las versiones anteriores pueden ser reemplazadas completamente.
Cambio basado en retroalimentaciónPosible: si se adapta con base en comentarios, se vuelve adaptativo; si no, es más predictivo.La retroalimentación impulsa los cambios; cada versión mejora con base en la anterior.
Diferencia claveSe construye por partes, sin reemplazar lo anterior.Se mejora o reemplaza lo anterior según lo aprendido en la iteración.

Tipos de Modelos de Desarrollo

El Modelo en Cascada

El modelo en cascada es un enfoque secuencial donde cada fase del desarrollo se realiza de forma ordenada:

  1. Recolección de requisitos
  2. Diseño
  3. Implementación
  4. Pruebas
  5. Despliegue
  6. Mantenimiento

Este modelo asume que no se puede pasar a la siguiente fase hasta que la anterior esté completamente finalizada. Sin embargo, para solucionar problemas detectados en fases posteriores, se introducen bucles de retroalimentación que permiten regresar a fases anteriores (por ejemplo, volver al diseño si un fallo se detectó en la implementación).

Importante: cuanto más tarde se detecte un problema, más costoso será solucionarlo. Esta idea se representa en la conocida curva del costo del cambio.

Supuestos del Modelo en Cascada

Para que este modelo funcione correctamente, se deben cumplir ciertos supuestos:

Ventajas

Desventajas

¿Cuándo usar el modelo en cascada?

Es adecuado cuando el proyecto es altamente predecible, los requisitos están claros desde el inicio y el trabajo es repetitivo.


¿Buscas soluciones tecnológicas personalizadas?

Contáctame para consultorías IT y desarrollo a medida

Anterior post
Complejidad del Software III: Requisitos
Siguiente post
Modelos de Desarrollo: Modelo en Cascada