Fondo

Evolución de los modelos de las Metodologías de Desarrollo de Software

  • Period: to

    Los Orígenes

    Inicio la primera generación de computadoras y con
    ellas la serie de programas y sistemas que éstas requieren para funcionar, las primeras prácticas de
    desarrollo no obedecían a una metodología, los llamados programadores se abocaban a
    desarrollar sus códigos una vez que comprendían los requerimientos de sus clientes.
  • Modelos y Metodologías Clásicas

    Ambiente caótico que caracterizó las primeras etapas de las técnicas de codificación
    desembocó en la inconformidad creciente de los usuarios, así como en proyectos excedidos
    en tiempos de entrega y presupuestos, casi de forma masiva, causas que marcaron la pauta en
    la “búsqueda de alternativas para esquematizar de alguna manera la producción del Software”
  • Ingeniería del Software

    surge el término “Ingeniería
    del Software” como un “enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento del software” y en respuesta a la crisis del software.
  • Modelos y Metodologías Tradicionales

    Modelos y Metodologías Tradicionales
    En el cuadro se recopilan los principales
  • Modelo Cascada

    Modelo Cascada
    Propiciado por Winston Royce sugiere un enfoque
    sistemático y secuencial, disciplinado y basado en análisis, diseño, pruebas y mantenimiento.
  • Period: to

    Modelos Tradicionales de Desarrollo de Software

    Aparecen los “modelos tradicionales de desarrollo de software.” En este punto es importante hacer una diferenciación entre “modelos” y “metodologías”, términos que han sido usados incluso de manera indistinta por algunos autores.
  • El humilde programador

    Edsger Dijkstra, presenta su trabajo titulado “The Humble Programmer” y sienta las bases para la creación de las metodologías tradicionales conocidas y aún usadas
    hasta hoy.
  • Ciclo de Vida del Desarrollo de Programas"

    Reconocen la aparición, clico de vida del desarrollo del Software, como un consenso formal para la construcción de sistemas, sienta las bases de los estados por los que debe trascender un
    producto de desarrollo desde que nace a partir de un requerimiento, hasta que muere luego de su mantenimiento.
  • Modelo de Desarrollo Incremental

    Modelo de Desarrollo Incremental
    Harlan Mills. Se basa en el desarrollo a partir del incremento de la funcionabilidad del programa, se puede considerar un precursor de las modernas metodologías iterativas.
  • Modelo de Desarrollo Evolutivo (espiral)

    Modelo de Desarrollo Evolutivo (espiral)
    Propuesto por Barry Boehm, en su
    artículo “Un modelo espiral de desarrollo y mejora de software”
    Conjuga una naturaleza iterativa en la construcción de prototipos con aspectos controlados y
    sistemáticos del modelo en cascada
  • Metodología Scrum

    Metodología Scrum
    Utiliza un enfoque incremental
    que tiene como fundamento la teoría de control empírico de procesos. Los llamados Equipos
    Scrum son autogestionados, multifuncionales y trabajan en iteraciones.
  • Modelo de Desarrollo Basado en Componentes

    Modelo de Desarrollo Basado en Componentes
    Divulgada por Fred Brooks,
    originalmente bajo la filosofía, “compre y no construya.” Promueve el uso de desarrollos
    “pre-fabricados” que se pueden reutilizar, con ello se emplean arquitecturas, diseños y
    software de una aplicación para construir otra.
  • Marco de Solución de Microsoft (MSF).

    Fue introducida por
    primera vez en 1994 como un conjunto de las mejores prácticas (principios, modelos,
    disciplinas, conceptos y directrices) en los desarrollos de Software de Microsoft Es flexible, permite aplicar de manera individual e independiente cada
    uno de sus componentes, es escalable según la magnitud del proyecto; fundamentada en los
    modelos espiral y cascada.
  • Programación Extrema

    Propuesta por Kent Beck, en su trabajo fundamental buscando guiar a equipos de desarrollo de software pequeños, entre dos y
    diez desarrolladores, en ambientes de requerimientos imprecisos o cambiantes. Cinco valores fundamentan sus principios: Simplicidad, Comunicación, Retroalimentación, Respeto y Coraje.