Software 1 e1550080097569

Evolución del Desarrollo de Software

By yukko
  • Décadas 40´s

    Décadas 40´s
    En estas décadas el coste del hardware era tremendamente superior al del software, que tenía por lo tanto una importancia relativa mucho menor. Se consideraba además que el software se podía desarrollar de la misma forma que se desarrolla el hardware; y, de hecho, los primeros ingenieros que se ocupaban del software eran los mismos que desarrollaban el hardware.
  • Décadas 60´s

    Décadas 60´s
    En el NASA/IEEE Software Engineering Workshop y las conferencias de la OTAN se analizó la “crisis del software”, y se plantearon ideas fundamentales como “reutilización” o “arquitectura software”. También aparece el artículo de Dijkstra “Go To Statement Considered Harmful” que impulsó la programación estructurada. Sin embargo, la formación de los profesionales sigue siendo ad-hoc y más centrada en los sistemas y en la programación, que en una verdadera Ingeniería del Software.
  • Décadas 70´s

    Décadas 70´s
    En esta década las organizaciones empezaron a comprobar que los costes del software superaban a los del hardware. Parnas propone la descomposición modular y el concepto de ocultamiento de información, Chen el modelo E/R y Royce el modelo de ciclo de vida en cascada. La formación de los profesionales de la Ingeniería del Software se centra entonces en las metodologías estructuradas, que supusieron un avance importante en el análisis y diseño de software
  • Décadas 80´s

    Décadas 80´s
    Se automatiza parte del ciclo de vida del software, apareciendo la conocida como primera generación de herramientas CASE, y los lenguajes de programación orientados a objetos que, si bien empezaron a finales de la década de los sesenta con el lenguaje Simula y en los setenta con Smalltalk, se difundieron sobre todo en la década de los ochenta con la aparición de C++, Objective-C y Eiffel.
  • Décadas 90´s

    Décadas 90´s
    Durante la cual se desarrollan los modelos relacionados con la mejora de procesos software, como Ideal, TSP o PSP, y las normas y estándares de calidad como la ISO 9126, ISO 12207, ISO 9000-3, etc. También durante esta década se consolida la orientación a objetos (OO) como aproximación para el desarrollo de sistemas informáticos, apareciendo más de cien metodologías, que terminan dando lugar a la aparición del Lenguaje de Modelado Unificado (UML) y el Proceso Unificado (UP).
  • 1995

    1995
    Jeff Sutherland y Ken Schwaber popularizan Scrum tras hacer público el paper "The SCRUM Development Process" en la conferencia OOPSLA de Texas. Mike Beedle fue uno de los primeros en adoptarlo y llevarlo a organizaciones.
  • 1999

    1999
    Kent Beck introduce la metodología de desarrollo Extreme Programming (XP), el empleo de User Stories, la Integración Continua, Pair Programming y otras prácticas usadas ampliamente en el desarrollo ágil.
  • Décadas 2000´s

    Décadas 2000´s
    Se firma el “Manifiesto Ágil” como intento de simplificar la complejidad de las metodologías existentes y en respuesta a los modelos “pesados” tipo CMM, y surgen, los métodos híbridos, que buscan un equilibrio, combinando la adaptabilidad de los ágiles con la formalidad y documentación de los métodos rigurosos. Actualmente vivimos el auge de este tipo de métodos, especialmente de Scrum, y ha sido necesario reciclar a los Ingenieros de Software en la “cultura” y técnicas ágiles.
  • 2001

    2001
    Un grupo de expertos, a petición del ingeniero Kent Beck (creador de las metodologías XP y TDD), se reunieron para debatir la situación del desarrollo de software y acuñaron la expresión “metodologías ágiles”. La expresión hacía referencia a un marco de trabajo en el cual era posible aumentar la calidad del desarrollo, reducir los tiempos, eliminar la incertidumbre, aceptar la tolerancia a cambios… en definitiva, incrementar la satisfacción del cliente.
  • Décadas 2010´s

    Décadas 2010´s
    Además de afianzarse las líneas descritas en las décadas anteriores, estamos asistiendo a una mayor integración entre la Ingeniería del Software y la Ingeniería de Sistemas.
    También estamos viendo ya la implantación de la “Ingeniería del Software Continua”, y su correspondiente tecnología y “filosofía” “DevOps”, que logran reducir el tiempo entre que se compromete un cambio en el sistema y que se ponga en producción normal.