Reseña histórica de la industria del software

  • ENIAC

    ENIAC
    Durante la II Guerra Mundial, el ejército de los Estados
    Unidos financió a J. Presper Eckert y John Mauchly para que
    desarrollaran la primera computadora electrónica digital, conocida como ENIAC (Electronic Numerical Integrator Analyzer and
    Computer, 1945), destinada a realizar cálculos precisos en segundos, con el propósito de aumentar la eficacia de los tiradores estadounidenses en dicho conflicto bélico (Mochi, 2006).
  • Orígenes del software

    Orígenes del software
    Durante este tiempo, se crearon varios tipos diferentes de software de programación.
  • CUC

    CUC
    En 1955, como respuesta a la demanda del creciente grupo
    de usuarios de computadoras que no contaban con recursos o
    capacidades tecnológicas para producirlo, nació CUC (Computer Usage Company), la primera empresa de software independiente (Mochi, 2006).
  • Period: to

    Estructura de gestión y organización formalizada

    Evolución del proceso de fábricas de software - 1ra fase (Cusumano, 1991, como se citó en Piattini y Garzas, 2010)
    - Establecimiento de los objetivos de la fábrica
    - Determinación de los productos
    - Inicio de recolección y análisis de datos sobre los procesos
    - Introducción de sistemas de control iniciales
  • Término "Fábrica de software"

    Término "Fábrica de software"
    Aparece por primera vez en una propuesta presentada por Robert William Bemer en el congreso de la International Federation of Information Processing (IFIP) en 1968, quien afirmaba que los gestores de software no disponían de entornos adecuados (Piattini y Garzas, 2010).
  • Crisis del software

    Crisis del software
    En 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”.
    La crisis del software es el resultado de la introducción de la tercera generación del hardware. Es un hecho de que el software que se construye no solamente no satisface los requerimientos ni las necesidades del cliente, sino que además excede los presupuestos y los horarios (Piattini, 2016).
  • Hitachi - Hitachi Software Works

    Hitachi - Hitachi Software Works
    Según Cusumano (1989) fue Hitachi la primera empresa que utilizó el término "fábrica" cuando fundó Hitachi Software Works (como se citó en Piattini y Garzas, 2010). Fijó dos objetivos:
    - Mejora de la productividad y fiabilidad por medio de la estandarización y control de procesos
    - Transformación del software de un servicio desestructurado a un producto con un nivel de calidad garantizado.
  • Period: to

    Adaptación y estandarización de la tecnología

    Evolución del proceso de fábricas de software - 2da fase (Cusumano, 1991, como se citó en Piattini y Garzas, 2010)
    - Expansión de objetivos y sistemas de control
    - Adopción de métodos estándares para diseño, codificación, pruebas, documentación y mantenimiento
    - Desarrollo en línea por medio de terminales
    - Programas de entrenamiento de empleados para estandarizar habilidades
    - Desarrollo de metodologías y herramientas integradas
  • Systems Development Corporation (SDC)

    Systems Development Corporation (SDC)
    En Estados Unidos, la SDC estableció la segunda fábrica de software entre 1975 y 1976. La fábrica se creó con el fin de afrontar los siguientes problemas (Bratman y Court, 1975, como se citó en Piattini y Garzas, 2010):
    - Falta de enfoques disciplinados y estandarizados en el proceso de desarrollo de software.
    - Falta de una forma efectiva de visualizar el proceso de producción.
    - Falta de diseño estandarizado.
    - Escasa reutilización de componentes.
  • NEC - Software Strategy Project

    NEC - Software Strategy Project
    NEC lanzó un "Proyecto de Estrategia de Software" en 1976, enfocándose en la estandarización, automatización, eliminación de desperdicios y control de calidad, además de promover la reutilización (Cusumano, 1987). Organizaciones de la compañía japonesa NEC (Cusumano, 1991):
    Software Strategy Project
    - Fuchu Works
    - Mita Works
    - Abiko Works
    - Tamagawa Works
  • Toshiba - Fuchu Software Factory

    Toshiba - Fuchu Software Factory
    Se enfocó en la definición de su modelo de fábrica de software en cuatro puntos (Balderas y Díaz, 1999):
    1. Estandarizar los procesos de desarrollo para reducir variaciones entre proyectos;
    2. Reúso de diseños y programas para construir nuevos sistemas a fin de reducir el trabajo redundante y maximizar la productividad;
    3. Introducir el uso de herramientas estándar a fin de elevar los niveles de desempeño de las personas;
    4. Proveer entrenamiento extensivo en las personas.
  • Apple II

    Apple II
    La empresa que diseñó la primera computadora personal de
    la historia fue Apple. En 1977 introdujo en el mercado la Apple
    II, equipada con un microprocesador 6502, una pantalla de alta
    resolución que permite visualizar colores y una gran biblioteca
    de programas; lo que le dio el primer sitio en popularidad y ventas, y cuyo resultado no se vio reflejado en su crecimiento (Mochi, 2006).
  • Fujitsu - Kamata Software Factory

    Fujitsu - Kamata Software Factory
    Fujitsu comenzó a centralizar la programación de aplicaciones en 1970, y luego emitió un conjunto de métodos y herramientas estandarizados antes de establecer un Departamento de Fábrica de Software en Kamata, Tokio, en 1979, que realizó diseño detallado, codificación y pruebas para especificaciones realizadas en departamentos de ingeniería de sistemas fuera de la fábrica (Cusumano, 1989).
  • Period: to

    Mecanización y soporte de procesos

    Evolución del proceso de fábricas de software - 3ra fase (Cusumano, 1991, como se citó en Piattini y Garzas, 2010)
    - Introducción de herramientas para soportar el control de proyectos
    - Introducción de herramientas para generar código, casos de prueba y documentación
    - Integración de herramientas con bases de datos en línea y bancos de trabajo de ingeniería
  • Period: to

    Refinamiento y extensión de procesos

    Evolución del proceso de fábricas de software - 4ta fase (Cusumano, 1991, como se citó en Piattini y Garzas, 2010)
    - Revisión de estándares
    - Introducción de nuevos métodos y herramientas
    - Establecimiento de programas de control y círculos de calidad
    - Transferencia de métodos y herramientas a subsidiarias, subcontratistas, etc
  • Aspel

    Aspel
    La compañía mexicana Aspel surgió en 1981, con el propósito de
    dedicarse a la comercialización de productos de software para
    sistemas administrativos. Su objetivo inicial fue ofrecer a las
    medianas, pequeñas y microempresas soluciones administrativas
    mecanizadas a costos asequibles (Mochi, 2006).
  • Fujitsu - Numazu Software Division

    Fujitsu - Numazu Software Division
    Fujitsu siguió a Hitachi, NEC y Toshiba en la adopción de enfoques y organizaciones de tipo fábrica para el desarrollo de software, comenzando con amplios controles sobre la gestión de proyectos y la inspección de productos para software de sistemas. Esto culminó con la centralización del desarrollo de software de sistemas en Numazu Works de Fujitsu en la prefectura de Shizuoka durante 1982-1983 (Cusumano, 1989).
  • Novell

    Novell
    En 1983, se creó Novell, una empresa que inauguró la era
    de las redes de los ordenadores en 1989, cuando presentó un
    sistema de red local multi thread, compatible con los principales sistemas operativos: OS/2 de IBM, Unix, Macintosh de la
    Apple (Mochi, 2006).
  • Hitachi - Systems Design Works

    Hitachi - Systems Design Works
    La empresa Hitachi se empezaba a centrar en diferentes áreas para la fábrica de software, reclutando ingenieros en sistemas y personal de programación (Cusumano, 1991).
  • Nippon Telegraph and Telephone (NTT)

    Nippon Telegraph and Telephone (NTT)
    NTT instaló su fábrica de software a partir de 1985, empresa dedicada a las telecomunicaciones (Piattini y Garzas, 2010).
  • Period: to

    Automatización flexible e integrada

    Evolución del proceso de fábricas de software - 5ta fase (Cusumano, 1991, como se citó en Piattini y Garzas, 2010)
    - Incremento de capacidades de las herramientas exigentes
    - Introducción de herramientas de soporte a la reutilización
    - Introducción de herramientas de automatización de diseño
    - Introducción de herramientas de análisis de requisitos
    - Integración adicional de herramientas
  • Mitsubishi

    Mitsubishi
    Mitsubishi instaló su fábrica de software a partir de 1987, empresa automotriz (Piattini y Garzas, 2010).
  • Period: to

    Producto incremental / mejora en la variedad

    Evolución del proceso de fábricas de software - 6ta fase (Cusumano, 1991, como se citó en Piattini y Garzas, 2010)
    - Control de la fiabilidad
    - Más énfasis en funcionalidad y usabilidad
    - Más tipos de productos
    - Organizaciones de desarrollo más creativas
  • CASE, reutilización y procesos

    CASE, reutilización y procesos
    A finales de los ochenta y principios de los noventa se implantó la primera generación de herramientas CASE, y los denominados Entornos Integrados de Desarrollo de Software (ISDE) y los entornos de Ingeniería del Software orientados al Proceso (PSEE) (Piattini et al, 2006, como se citó en Piattini y Garzas, 2010).
  • Netscape

    Netscape
    La compañía con mayor influencia en el inicio de la era de
    Internet fue Netscape. Fundada en 1994, creció con gran rapidez: 16 meses después ya cotizaba en la bolsa y empleaba a 2 000
    personas. La historia de esta empresa representa, asimismo, el
    principio de un nuevo periodo en la industria del software. La
    tecnología Internet y los browser gráficos, fáciles de usar, han
    permitido aplicaciones radicalmente nuevas y oportunidad para
    los servicios (Mochi, 2006).
  • Modelos y líneas de producto

    Modelos y líneas de producto
    En los años 2000 se siguió perfeccionando las técnicas de las décadas anteriores, afianzándose la ingeniería basada en modelos, el desarrollo basado en componentes, las líneas de producto y los modelos de madurez de procesos (Piattini y Garzas, 2010).
  • Ingeniería del Software y la Ingeniería de Sistemas

    Ingeniería del Software y la Ingeniería de Sistemas
    En esta década, 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.
    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 (Piattini, 2016).