-
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
Durante este tiempo, se crearon varios tipos diferentes de software de programación. -
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"
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
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
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)
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 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
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
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 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
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 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
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
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)
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 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
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
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
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
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).