Historia de la ingeniería del software

  • La primera computadora digital

    la Z3 es una de las primeras maquinas programables y automáticas que podía realizar cálculos como suma, resta, multiplicación, división, raíz cuadrada y gestión de memoria.
  • Primer lenguaje de programación

    se creó el IBM el primer lenguaje de programación de alto nivel.
  • Software

    El matemático John W. Tukey usó por primera vez el termino software.
  • BNF

    Backus-Naur Form, John W. Backus inventa una notación que permite describir la sintaxis de un lenguaje de programación de alto nivel BNF.
  • Lenguaje cobol

    Se crea un lenguaje de programación universal compatible con todos los ordenadores.
  • Crisis del software

    Se busca simplificar el código, aparición de multiprogramación y aparición del software como producto.
  • La OTAN organiza una conferencia

    se consagro el uso del término ingeniería de software, se dice que la primera persona que usó el término fue Margaret Hamilton.
  • Modelo en cascada

    ordena las etapas del ciclo de vida del software, de tal manera que hasta que no finalice la anterior no inicia la que sigue.
  • Lenguaje de programación C

    se crea el lenguaje de programación C como evolución del B.
  • Ciclo de vida de desarrollo de software

    empezó 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.
  • Consolidación

    Durante este tiempo aparecen métricas para estimar a priori el coste o el tamaño del sistema y se vislumbra la idea de un ingeniero de software.
  • IEEE

    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.
  • Scrum

    fue acuñado y definido por Ikujiro Nonaka e Hirotaka Takeuchi en los años 80, cuando las principales empresas de desarrollo tecnológico empezaban a dominar el mercado y a definir conductas de trabajo.
  • Desarrollo incremental

    combinaría elementos del modelo en cascada con la filosofía interactiva de construcción de prototipos.
    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

    Es una combinación en cascada y prototipado.
  • Método de desarrollo orientado a objetos

    Un método de desarrollo orientado a objetos, extensión de lo que se conocía como aproximación Ericsson.
  • RAD y RUP

    (Rapid Application Development): emplea técnicas iterativas y de prototipado.
    (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).
  • Adaptacion de la metodología Scrum al desarrollo del software

    El método Scrum estaba ahora orientado a objetos, a un control de procesos empírico, desarrollo iterativo e incremental, a una mejora continua de la productividad, así como al desarrollo de sistemas complejos y ágiles.
  • DSDM

    Se creó con el objetivo de un "Desarrollo conjunto promocionando un entorno de trabajo de desarrollo ágil", combinando las mejores experiencias obtenidas en práctica.
  • Extreme Programming

    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
  • Planning Poker

    Se trata de una dinámica ágil en la que se reúne el equipo con una baraja de Poker modificada y se hacen rondas de estimación con ayuda de estas cartas.
  • 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.
  • Behavior Driven Development

    El método se enfoca en proporcionar herramientas y procesos colaborativos entre desarrolladores de software y analistas funcionales, buscando acercar a los técnicos de software con las necesidades que impulsan al área de negocio.