El modelo en cascada es un enfoque clásico en el desarrollo de software que describe un método de desarrollo lineal y secuencial. Consta de cinco a siete fases, cada fase está definida por diferentes tareas y objetivos, por lo que la totalidad de las fases describe el ciclo de vida del software hasta su entrega. Una vez finalizada una fase, sigue el siguiente paso de desarrollo y los resultados de la fase anterior pasan a la siguiente fase.
El modelo en cascada (o waterfall model en inglés) fue el primer método ampliamente utilizado en la industria del software. Como enfoque tradicional, no es repetitivo en contraste con los modelos ágiles con sprints simples, pero puede ser complementado con bucles de retroalimentación y loopbacks. Todavía se utiliza hoy en día en varias versiones si los requisitos y características de un software pueden ser claramente definidos durante la fase conceptual.
La primera mención de un modelo en fases se remonta a Winston Royce. En su ensayo “Managing the Development of Large Software Systems” (Gestión del desarrollo de grandes sistemas de software) describió un método de desarrollo para grandes proyectos de software, que se divide en fases ya en 1970. También criticó este enfoque y propuso una alternativa que se asemeja a la creación de prototipos. Royce se refería al “Nine Phase Stage-Wise Model” de Herbert Benington, publicado en 1956. Mientras que Benington preveía nueve fases, Royce las redujo a siete. El término modelo en cascada no fue utilizado por ninguno de los dos. Su uso se basa en un libro de 1976, que trata principalmente de los requisitos para software[1]
El modelo original en cascada consta de siete fases sucesivas:[2]
Varios equipos y expertos trabajan en estas etapas. Los contratistas, la gestión de proyectos y los desarrolladores senior suelen participar hasta la fase de implementación. Después de la implementación, los desarrolladores hacen el trabajo, por lo que las pruebas del software se manejan frecuentemente por separado, por ejemplo, por laboratorios de pruebas independientes. Expertos en marketing y servicios participan en parte en su lanzamiento. En las grandes empresas y corporaciones, se utiliza el método SDLC modificado y estructurado con mayor precisión (ciclo de vida de desarrollo del sistema), que se basa en el modelo en cascada.[3]. Existen también otras versiones de este modelo que, por ejemplo, introducen elementos repetitivos en forma de bucles para detectar y corregir errores y fallos en fases anteriores.
Algunas ventajas y desventajas del modelo en cascada:[4][5][6]
El modelo en cascada es uno de los modelos de proceso más conocidos en el desarrollo de software. Se ha utilizado con éxito durante décadas, pero ahora sólo se utiliza para proyectos más pequeños en los que las especificaciones son claras. Los inconvenientes antes mencionados, sin embargo, también llevaron a los analistas y desarrolladores a diseñar modelos alternativos llamados desarrollo ágil de software[7]. El principal problema del modelo en cascada es que los cambios y revisiones no están necesariamente previstos por las secuencias lógicas. La retroalimentación de los clientes, testers o probadores e ingenieros durante el desarrollo, está en parte ausente, y la integración del software en un sistema existente tiene lugar en un big bang. Estos inconvenientes pueden evitarse modificando las fases del proyecto, como es el caso del Modelo en Espiral. Pero desde hace algunos años, los métodos ágiles que utilizan otros elementos estructurales son mucho más populares (por ejemplo, los roles y sprints con Scrum o los principios extremos de programación). Por regla general, son más económicos, conducen a resultados más rápidos y son más transparentes para los clientes.
Referencias
Breadcrumb es una navegación secundaria dentro de una web (también llamada navegación de miga de…
Google Mobile hace referencia a todos los productos y servicios ofrecidos por Google Inc. con…
El término valor añadido (added value en inglés), tiene su origen en la administración de…
RankBrain es un nuevo subsistema de algoritmos que Google utiliza en la entrega de resultados…
El término ad exchange (intercambio de anuncios) se refiere a los mercados online, en los…
Esta web usa cookies.