Linea del tiempo de la industra de software

  • Periodo de los 40 y 50

    Periodo de los 40 y 50
    Durante este periodo el costo 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.
  • Periodo de los 60

    Periodo de los 60
    A pesar de importantes éxitos como las misiones de la NASA, se empieza a hacer evidente que el software se diferencia demasiado del hardware para poder ser tratado de la misma manera. Es la época de los famosos “códigos espagueti” (muy difíciles de entender incluso por quien lo escribía) y la aparición de “héroes” que después de varias noches sin dormir conseguían arreglar a último minuto el software para cumplir los plazos marcados.
  • NASA/IEEE

    NASA/IEEE
    En el NASA/IEEE Software Engineering Workshop de 1966; y las conferencias de la OTAN en 1968 y 1969, se analizó la “crisis del software”, y se plantearon ideas fundamentales como “reutilización” o “arquitectura software”.
  • Go To Statement Considered Harmful

    Go To Statement Considered Harmful
    En 1968 aparece también el artículo de Dijkstra “Go To Statement Considered Harmful” que impulsó la programación estructurada y en el congreso IFIP se cita por primera vez el concepto de “factoría o fábrica de software”. 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.
  • Periodo de los 70

    Leo Osterweil impartió una charla invitada en la International Conference on Software Engineering (ICSE) cuyo título fue “Software processes are software too” que supuso el inicio de una nueva forma de abordar los procesos software.
  • Automatización

    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.
  • Periodo de los 90

    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.
  • UML y UP

    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).
  • Manifiesto Ágil

    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.
  • Popularización de métodos DSDM

    en este periodo se difunden el Desarrollo Software Dirigido por Modelos (DSDM) y las líneas o familias de productos software, que suponen un esfuerzo al Ingeniero del Software al trabajar con modelos de alto nivel como elemento principal del desarrollo y mantenimiento de software.
  • Periodo 2010

    En este periodo, 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 -destacando el papel de los requisitos no funcionales y, sobre todo, de la seguridad-; la importancia de la “Ciencia, Gestión e Ingeniería de los Servicios” que requiere un enfoque interdisciplinar (informática, marketing, gestión empresarial, ciencias cognitivas, derecho, etc.)