SDLC - Modelo de cascada

El modelo Waterfall es un modelo SDLC clásico que es ampliamente conocido, comprendido y utilizado comúnmente. Fue presentado por Royce en 1970 y todavía se sigue como un enfoque común para el desarrollo de software en varias organizaciones de la industria.

En el modelo Waterfall, cada fase del ciclo de vida puede comenzar solo después de que se complete la fase del ciclo de vida anterior. Por lo tanto, es un modelo lineal sin bucles de retroalimentación.

Ciclo de vida de la cascada

Modelo de cascada - Fortalezas

Los puntos fuertes del modelo Cascada son:

  • Fácil de entender, fácil de usar.
  • Proporciona estructura al equipo de desarrollo sin experiencia.
  • Los hitos son bien entendidos.
  • Establece requisitos de estabilidad.
  • Ideal para el control de gestión (planificación, seguimiento, informes).
  • Funciona bien cuando la calidad es más importante que el costo o el cronograma.

Modelo de cascada - Debilidades

Las debilidades o las desventajas del modelo Waterfall son:

  • Idealizado: no coincide bien con la realidad.

  • Poco realista: no se pueden esperar requisitos precisos al principio del proyecto.

  • No refleja la naturaleza iterativa del desarrollo exploratorio que es más común.

  • Difícil y costoso hacer cambios.

  • El software se entrega solo al final del proyecto. Debido a esto

    • Retrasa el descubrimiento de defectos graves.

    • Posibilidad de entrega de requisitos obsoletos.

  • Gastos generales de gestión significativos, que pueden ser costosos para pequeños equipos y proyectos.

  • Requiere recursos experimentados en cada fase: analistas, diseñadores, desarrolladores, probadores.

  • Las pruebas comienzan solo después de que se completa el desarrollo y los evaluadores no participan en ninguna de las fases anteriores.

  • La experiencia de los equipos multifuncionales no se comparte ya que cada fase se ejecuta en silos.

¿Cuándo usar el modelo de cascada?

Puede usar el modelo Cascada si:

  • Los requisitos son muy conocidos.

  • La definición del producto es estable.

  • La tecnología se entiende bien.

  • Nueva versión de un producto existente.

  • Portar un producto existente a una nueva plataforma.

  • Gran organización con equipos estructurados y multifuncionales.

  • Los canales de comunicación están bien establecidos dentro de la organización y también con el cliente.

Modelo evolutivo de prototipos

En el desarrollo de software usando el modelo de Prototipos Evolutivos, los desarrolladores construyen un prototipo durante la fase de requisitos. Los usuarios finales luego evalúan el prototipo y dan su opinión. La retroalimentación puede ser correcciones al prototipo o funcionalidad adicional. Según los comentarios, los desarrolladores refinan aún más el prototipo.

Por lo tanto, el producto evoluciona a través del Prototipo → Comentarios → Ciclos de prototipos refinados y de ahí el nombre Prototipos evolutivos. Cuando el usuario está satisfecho con la funcionalidad y el funcionamiento del producto, el código prototipo se ajusta a los estándares requeridos para la entrega del producto final.

Entrega de producto final

Modelo evolutivo de prototipos - Fortalezas

Los puntos fuertes o las ventajas de un modelo de prototipos evolutivos son:

  • Los clientes / usuarios finales pueden visualizar los requisitos del sistema a medida que se reúnen mirando el prototipo.

  • Los desarrolladores aprenden de los clientes y, por lo tanto, no tienen ambigüedades con respecto al dominio o entorno de producción.

  • Permite un diseño y desarrollo flexible.

  • La interacción con el prototipo estimula la conciencia de la funcionalidad adicional necesaria.

  • Los requisitos inesperados y los cambios de requisitos se acomodan fácilmente.

  • Se producen signos constantes y visibles de progreso.

  • Entrega de un producto final preciso y fácil de mantener.

Modelo de prototipos evolutivos: debilidades

Las debilidades o desventajas del modelo de prototipos evolutivos son las siguientes:

  • Tendencia a abandonar el desarrollo estructurado en el desarrollo de código y arreglo, aunque no es lo que prescribe el modelo.

  • Este modelo recibió mala reputación por los métodos rápidos y sucios.

  • Posiblemente se pueda pasar por alto la mantenibilidad general.

  • El cliente posiblemente puede solicitar la entrega del prototipo como final, sin dar la oportunidad a los desarrolladores de ejecutar el paso final, es decir, la estandarización del producto final.

  • El proyecto puede continuar para siempre (con un avance continuo del alcance) y la administración puede no apreciarlo.

¿Cuándo utilizar el modelo de prototipos evolutivos?

Puede usar el modelo de prototipos evolutivos:

  • Cuando los requisitos son inestables o deben aclararse
  • Como la etapa de clarificación de requisitos de un modelo en cascada
  • Desarrollar interfaces de usuario.
  • Para demostraciones de corta duración
  • Para desarrollo nuevo u original
  • Para implementar una nueva tecnología