Metodologías tradicionales o clásicas

 

Ingeniería de Software I - Abril Hdez: Metodologías para el Desarrollo de  Software 

Las metodologías tradicionales o clásicas siguen una secuencia de pasos los cuales cada uno depende del anterior.

Orientada a usuarios

Esta metodología se centra en la recolección de información proveniente de las necesidades de los usuarios y esta conformada por las siguientes fases:

- Análisis: Recolección de toda la información necesaria que será analizada minuciosamente para determinar cómo se va a resolver.

- Definición de requerimientos: Se determinan las necesidades de entrada, almacenamiento y salida de datos.

- Diseño y desarrollo del sistema: Se procede a desarrollar el sistema basándose en los datos recolectados y analizados en las fases anteriores.

- Evaluación del sistema: En este último paso se realizan todas las pruebas necesarias para determinar si cumple con los objetivos

Cascada

Esta metodología se remonta al 1970, año en que Winston W. Royce adaptó la idea del modelo Waterfall tal y como lo conocemos. Royce presentó el modelo sin establecer todavía un título definitivo a través de su artículo Gestionando el Desarrollo de Grandes Sistemas de Software.

La metodología en cascada, también conocida como modelo Waterfall, es ampliamente utilizada en proyectos grandes y complejos donde es crucial cumplir estrictamente con cada paso del proceso. Esta metodología se basa en la secuencia lineal de actividades interrelacionadas, lo que permite avanzar en el proyecto a medida que se completan las tareas.

Las principales acciones dentro de este modelo incluyen la definición clara de los requisitos del proyecto, seguida por el diseño detallado, la implementación, las pruebas y finalmente la entrega del producto o servicio. Cada etapa depende del éxito de la anterior y no se puede avanzar sin completarla satisfactoriamente.

El uso de la metodología en cascada garantiza una mayor planificación y organización, lo que resulta especialmente beneficioso en proyectos complejos donde existen múltiples equipos y recursos involucrados. Sin embargo, también puede presentar algunas limitaciones cuando surgen cambios o modificaciones durante el proceso, ya que puede resultar difícil retroceder o ajustarse a nuevas circunstancias sin afectar el cronograma establecido.

En resumen, la metodología en cascada es una herramienta efectiva para abordar proyectos grandes y complejos donde se requiere un estricto cumplimiento de los pasos establecidos. Su estructura secuencial permite una mejor planificación y organización, aunque puede presentar desafíos ante cambios inesperados durante el desarrollo del proyecto.

Esta compuesta por los siguientes pasos:

Desarrollo en cascada - Wikipedia, la enciclopedia libre 

Espiral

El modelo de desarrollo en espiral, diseñado por Barry Boehm en 1986, combina los enfoques lineales y de cascada con la incorporación de modelos de riesgo. Esta metodología se destaca por su estructura en forma de espiral, que involucra la realización de diversas fases y utiliza procesos adaptados para proyectos de gran envergadura.

A diferencia del modelo lineal o cascada tradicional, el modelo en espiral permite una mayor flexibilidad y adaptabilidad a medida que se avanza en el proyecto. Esto se debe a que cada fase va iterando sobre sí misma, evaluando riesgos y tomando decisiones basadas en los resultados obtenidos.

El uso de modelos de riesgo es una característica clave del modelo en espiral. Estos modelos permiten identificar posibles problemas o desafíos antes de que ocurran, lo que ayuda a mitigar los riesgos asociados al desarrollo del proyecto.

En resumen, el modelo de desarrollo en espiral ofrece una metodología más dinámica y adaptable para abordar proyectos complejos. Su estructura cíclica y la incorporación de modelos de riesgo permiten una gestión más eficiente y efectiva del proyecto desde su inicio hasta su finalización.

Desarrollo en espiral - Wikipedia, la enciclopedia libre 

Incremental

En el ámbito del desarrollo de software, la metodología incremental se ha convertido en una alternativa eficiente y efectiva. A diferencia del modelo en cascada tradicional, esta metodología permite construir el producto final de manera progresiva y por etapas.

En cada etapa incremental del proceso de desarrollo se agrega una nueva funcionalidad al software. Esto significa que a medida que avanza el proyecto, se van obteniendo resultados tangibles de forma más rápida en comparación con el modelo en cascada.

La ventaja principal de la metodología incremental es su capacidad para adaptarse a los cambios y requerimientos que puedan surgir durante el proceso. Al ir construyendo el producto de manera gradual, se facilita la detección temprana de posibles errores o mejoras necesarias.

Además, esta metodología permite obtener retroalimentación constante por parte de los usuarios o clientes finales. Esto resulta fundamental para asegurar que el producto cumpla con sus expectativas y necesidades reales.

En resumen, la metodología incremental ofrece un enfoque flexible y eficiente para el desarrollo de software. Permite obtener resultados rápidos y brinda mayor adaptabilidad ante cambios o requerimientos adicionales durante todo el proceso.

El modelo de desarrollo incremental iterativo fue propuesto por Harlan Mills en el año 1980 y se lo puede considerar una revolución para la ingeniería de software y un precursor de las modernas metodologías ágiles.

Metodología incremental – Informatica I 

Prototipado

Consiste en crear un modelo preliminar de software que se puede someter a pruebas por parte de los usuarios para obtener retroalimentación. De esta forma, se pueden corregir los errores y añadir nuevas funcionalidades que se requieran. Es un modelo iterativo que se apoya en el método de ensayo y error para definir las características del producto.

 

Ventajas y desventajas

Las metodologías tradicionales de desarrollo de sistemas de información son aquellas que se basan en un proceso lineal, secuencial y predefinido, donde los requisitos del sistema se especifican al inicio del proyecto y se mantienen fijos durante todo el ciclo de vida. Algunas de las ventajas y desventajas de estas metodologías son:

Ventajas:


    - Claridad y documentación: Las metodologías tradicionales definen claramente las etapas, roles, responsabilidades y tiempos de entrega del proyecto, lo que facilita la planificación, el control y la comunicación. Además, se genera una amplia documentación que sirve como referencia y evidencia del trabajo realizado.
    - Calidad y estabilidad: Las metodologías tradicionales aseguran que el sistema cumpla con los requisitos establecidos y que pase por diversas pruebas de calidad antes de su entrega. También se evitan cambios innecesarios o imprevistos que puedan afectar el funcionamiento o el presupuesto del sistema.
 

Desventajas:


    - Rigidez e inflexibilidad: Las metodologías tradicionales no permiten adaptarse a las necesidades cambiantes del cliente o del entorno, lo que puede generar insatisfacción o pérdida de oportunidades. Además, se dificulta la incorporación de nuevas tecnologías o innovaciones que puedan mejorar el sistema.
    - Tiempo y coste: Las metodologías tradicionales requieren de mucho tiempo y recursos para completar el proyecto, ya que se deben seguir todas las fases y documentar todos los detalles. También se corre el riesgo de entregar un sistema obsoleto o irrelevante si el mercado o las expectativas del cliente cambian durante el desarrollo.

Conclusiones

Las metodologías tradicionales ofrecen una solución ordenada para el desarrollo de aplicaciones de sistemas de información, con pasos definidos y objetivos claramente establecidos, pero son muy estrictas y poco flexibles. Si se presentan cambios o nuevas necesidades en el proceso el mismo se dificulta, ya que no podría actualizarse a los nuevos cambios.

En la actualidad, nos encontramos con una dinámica tal, que es necesario que el desarrollo de software se retroalimente constantemente y estas metodologías tradicionales en algunas ocasiones no son beneficiosas.

Referencias

AdmItsqmet, & AdmItsqmet. (2023, 6 abril). Los 8 tipos de metodología de desarrollo de software. ITSQMET. https://itsqmet.edu.ec/los-8-tipos-de-metodologia-de-desarrollo-de-software/

Asana, T. (2023, 14 mayo). Las 12 metodologías más populares para la gestión de proyectos [2023] • Asana. Asana. https://asana.com/es/resources/project-management-methodologies

Meno, A. (2021, 1 septiembre). Metodologías de desarrollo de software (tradicionales vs ágiles) – Tecnitium. https://tecnitium.com/metodologias-de-desarrollo-de-software/

Metodologías de desarrollo de software: ¿qué son? (2023, 31 julio). Becas Santander. https://www.becas-santander.com/es/blog/metodologias-desarrollo-software.html


Comentarios

Entradas más populares de este blog

Metodologías ágiles

Concepto de metodología para el análisis y diseño, características y aplicación