Desarrollo software a medida scaled

Historia de los lenguajes de programación

  • Década de 1950

    Década de 1950
    Surgimiento del Software: En esta época, el software era diseñado junto con el hardware y se limitaba a funciones muy específicas, como cálculos numéricos y operaciones matemáticas en computadoras de gran escala.
    Lenguajes de programación tempranos: Surgen los primeros lenguajes como Assembly y Fortran (1957).
  • Década de 1960

    Década de 1960
    Primeros conceptos de Ingeniería de Software: Con el aumento de la complejidad del software, se empieza a ver la necesidad de tratarlo como una disciplina independiente.
    Lenguajes de alto nivel: Lenguajes como Cobol y ALGOL emergen, facilitando el desarrollo de software más complejo.
    Modelo en Cascada (1960s): Aparece como el primer enfoque formal para el desarrollo de software.
  • 1970

    1970
    Programación Estructurada (1960s-1970s): Esta técnica se populariza con la obra de Edsger Dijkstra y otros, promoviendo un enfoque más sistemático y disciplinado para el desarrollo de software. Se introducen conceptos como secuencias, condicionales, y bucles controlados, reduciendo la dependencia del "GoTo", lo que facilita la legibilidad y el mantenimiento del código.
  • Década de 1970

    Década de 1970
    Modelo en Cascada (formalizado en 1970): Winston Royce lo propone oficialmente como el primer modelo de desarrollo de software lineal.
    Desarrollo de Software Modular: Se promueve la idea de dividir grandes proyectos en módulos más pequeños y manejables.
    Lenguaje C (1972): Este lenguaje se vuelve popular, permitiendo un desarrollo más eficiente y portátil.
  • Década de 1980

    Década de 1980
    Modelo Espiral (1986): Barry Boehm propone el modelo espiral, centrado en la gestión de riesgos, combinando un enfoque iterativo con el ciclo de vida tradicional.
    Surgimiento de las metodologías RAD (Rapid Application Development): El enfoque RAD surge para acelerar el desarrollo, mediante prototipos y el uso de herramientas CASE (Computer-Aided Software Engineering).
    Introducción de IDEs: Comienzan a aparecer los primeros entornos de desarrollo integrados, que facilitan el desarrollo.
  • Década de 1990

    Década de 1990
    Modelo Incremental y Evolutivo: Comienzan a popularizarse los enfoques que permiten iteraciones y entregas incrementales de software.
    Metodologías Ágiles (1990s): Comienzan a aparecer prácticas que luego formarán las bases de las metodologías ágiles.
    Lenguajes orientados a objetos: Java y C++ se vuelven lenguajes dominantes, basados en la programación orientada a objetos.
    Modelo V: Se formaliza como una extensión del modelo en cascada, relacionando las fases de prueba y desarrollo.
  • Año 2000

    Año 2000
    Manifiesto Ágil (2001): Publicado por un grupo de desarrolladores, se centra en la flexibilidad, la entrega rápida y la colaboración con el cliente. Esto da origen a metodologías ágiles populares como Scrum y XP (Extreme Programming).
    Adopción de Scrum y Kanban: Estos marcos se adoptan rápidamente, especialmente en entornos de desarrollo de software dinámico.
    Crecimiento de DevOps: Se empieza a hablar de la integración entre desarrollo y operaciones.
  • Década de 2010

    Década de 2010
    Expansión de DevOps (2010s): Se establece formalmente como un enfoque clave para mejorar la colaboración entre desarrollo y operaciones, con la integración continua (CI) y entrega continua (CD).
    Desarrollo en la nube: Herramientas como AWS, Azure, y Google Cloud permiten el despliegue más rápido de software.
    Prácticas ágiles maduras: Las metodologías ágiles se consolidan como el estándar en la industria de software.
  • 2010

    2010
    Low-Code/No-Code (2010s): Plataformas que permiten a los usuarios crear aplicaciones con mínima codificación o sin necesidad de programar, usando interfaces gráficas y componentes predefinidos. Esto democratiza el desarrollo de software, permitiendo a usuarios sin formación técnica construir aplicaciones básicas. Herramientas como OutSystems, Mendix, y Microsoft PowerApps son ejemplos de este enfoque.
  • 2020-Presente

    2020-Presente
    Desarrollo de software basado en IA: Se empieza a explorar el uso de inteligencia artificial y aprendizaje automático para automatizar tareas en el desarrollo de software.
    DevSecOps: Evolución de DevOps para incluir la seguridad en todo el ciclo de vida de desarrollo.
    Microservicios y contenedores: Arquitecturas de microservicios y tecnologías de contenedores como Docker y Kubernetes se convierten en estándar para construir sistemas escalables y modulares.