Historia Ingeniería de Software

  • Z3 la primera computadora digital

    En 1941 el ingeniero alemán Konrad Zuse presenta Z3 la primera computadora digital. Funcionaba gracias a 2300 relés de teléfono y la reutilización de cintas cinematográficas que perforadas servían como memoria de las instrucciones.
    Con el surgimiento de la Z3 el desarrollo de software era algo tan nuevo que era casi imposible hacer predicciones de las fechas estimadas de fiscalización del proyecto y muchos de ellos sobrepasaban los presupuestos y tiempo estimados
  • Nace el lenguaje de programación FORTRAN

    En 1954 John W. Backus creo junto a un equipo de programadores de IBM el primer Lenguaje de programación de alto nivel, el FORTRAN, y este posteriormente fue comercializado en 1957.
  • Termino Software

    En 1957 el matemático John W. Tukey usó por primera vez el termino software.
  • Nacimiento del Lenguaje COBOL

    Un lenguaje de programación universal que pudiera ser usado en cualquier ordenador, ya que en los años 1960 existían numerosos modelos de ordenadores incompatibles entre sí.
  • Period: to

    Crisis del Software

    En estos años el software inicio con una Crisis del Software. Ligada a la crisis de la programación se plantea la necesidad de controlar el proceso de desarrollo. Se busca simplificar código. Aparición de multiprogramación. Sistemas de tiempo real apoyan la toma de decisiones. Aparición de software como producto.
  • Conferencia de la OTAN

    La conferencia organizada por La Organización del Tratado del Atlántico Norte (OTAN) en el año 1968 en Múnich Alemania consagro el uso del término Ingeniería del Software, aunque Frederick P. Brooks, lo usó en los años 60, se dice que la primera persona que usó el término fue Margaret Hamilton
  • Modelo en Cascada

    El modelo en cascada ordena rigurosamente las etapas del ciclo de vida del software, de tal forma que el inicio de cada etapa debe esperar a la finalización de la inmediatamente anterior. La primera descripción formal la realizó en 1970 Winston W. Royce, en uno de sus artículos.
  • The Humble Programmer

    Una de las primeras y más conocidas referencias a los conceptos crisis el software e ingeniería del software fue hecha por Edsger Dijkstra, durante la presentación de 1972 titulada “The Humble Programmer” en la Association for Computing Machinery, cuando se le hizo entrega de un Premio Turing.
  • Ciclo de Vida del Software

    l ciclo de vida de desarrollo de software o SDLC (Software Develop Life Cicle) empezó a aparecer, a mediados de la década, como un consenso para la construcción centralizada de software, y daría las pautas en la que se logra establecer, de manera general, los estados por los que pasa el producto software desde que nace a partir de una necesidad, hasta que muere.
  • Fundacion IEEE

    La Fundacion IEEE es El Instituto de Ingeniería Eléctrica y Electrónica es una asociación mundial de ingenieros dedicada a la normalización y el desarrollo en áreas técnicas y es un instituto internacional sin fines de lucro dedicado a promover la innovación y la excelencia tecnológica en beneficio de la humanidad. El Comité creado por la IEEE Computer Society para el desarrollo de estándares de Ingeniería del Software, se fundó en 1976
  • SCRUM

    El término Scrum (traducido del inglés como melé) fue acuñado y definido por Ikujiro Nonaka e Hirotaka Takeuchi en los años 80, cuando las principales empresas de desarrollo tecnológica empezaban a dominar el mercado y a definir conductas de trabajo.
  • Modelo de Desarrollo Incremental

    Fue propuesto por Harlan Mills, el cual combinaría elementos del modelo en cascada con la filosofía interactiva de construcción de prototipos. Surgió el enfoque incremental de desarrollo como una forma de reducir la repetición del trabajo en el proceso de desarrollo y dar oportunidad de retrasar la toma de decisiones en los requisitos hasta adquirir experiencia con el sistema.
  • Modelo en Espiral

    El modelo en Espiral: Combinación de procesos en cascada y prototipado. Fue definido por Barry Boehm en 1986 en el artículo “A Spiral Model of Software Development and Enhancement”
  • Método de desarrollo orientado a objetos

    Ivar Jacobson fundó la compañía Objectory AB, que desarrolló Objetory, un método de desarrollo orientado a objetos, extensión de lo que se conocía como aproximación Ericsson. En 1995, Rational Software compró Objectory AB, y en los siguientes años desarrollaron y lanzaron el estándar UML (Unified Modeling Language), así como el Rational Unified Process (RUP), que aunaba los esfuerzos y la experiencia de todas las compañías adquiridas por Rational Software.
  • Metodologias RAD y RUP

    RAD (Rapid Application Development): emplea técnicas iterativas y de prototipado. Lo introdujo James Martin en 1991.
    RUP (Rationa Unified Process): El Rational Unified Process en inglés es un proceso de desarrollo de software iterativo y junto con el Lenguaje Unificado de Modelado (UML), constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos.
  • Extreme Programming

    Enfoque formulado por Kent Beck en 1999, que se diferencia de las metodologías tradicionales principalmente en que pone más énfasis en la adaptabilidad que en la previsibilidad. Sus defensores consideran que ser capaz de adaptarse a los cambios de requisitos en cualquier punto de la vida del proyecto es una aproximación mejor y más realista que definir todos los requisitos al comienzo e invertir esfuerzos después en controlar los cambios.
  • El Manifiesto Ágil

    Bob Martin, reúne a otros 16 líderes del movimiento ágil, para escribir el "Manifiesto Ágil", que engloba las metodologías que hasta ese momento se les conocía como "Metodologías de Desarrollo de Software de peso liviano".
  • Lean Software Development

    Mary y Tom Poppendieck presentan su obra "Lean Software Development". El Lean Software Development es una adaptación de los principios de la manufactura esbelta y de los del desarrollo de software. Presenta 7 principios: Eliminar desperdicio, amplificar el aprendizaje, Decidir tan tarde como sea posible, entregar lo más rápido posible, dar poder al equipo (empowerment), construir integridad y ver la totalidad. Como se puede ver estos principios están alineados con la filosofía ágil.
  • Kanban

    David Anderson presenta su obra "Kanban". El método se enfoca en la entrega "justo a tiempo" y en no sobrecargar a los desarrolladores de software, tal como su precursor el Kanban para manufactura perfeccionado por Toyota. Bajo este enfoque, todas las tareas necesarias para entregar una funcionalidad al cliente se le muestran a los desarrolladores, quienes toman la tarea a realizar de una cola, de forma similar al backlog definido en Scrum
  • Lean Startup

    Eric Ries escribe su obra "Lean Startup". El método se basa en que los ciclos de desarrollo de productos pueden reducirse en duración por medio de ciclos continuos de experimentaciones, iteraciones y lanzamientos de producto. Ries establece que si las Compañías construyen sus productos o servicios de forma iterativa, buscando lanzarlos al cliente lo antes posible y adquirir aprendizaje a partir de allí, pueden evitarse los costosos proyectos y lanzamientos de nuevos productos.
  • Period: to

    Avances Ingeniería de Software

    En esta década, 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; 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...)