Comienzos
Los programadores conocían la labor de los ingenieros civiles, eléctricos y de computadores y debatían qué podría significar la ingeniería para el software. El software es un término informático acuñado en 1968, en la primera conferencia organizada por la OTAN sobre desarrollo de software, en Alemania, de la cual nació formalmente la rama de la ingeniería de software. El término se adjudica a Bauer, aunque previamente había sido utilizado por Dijkstra en su obra The Humble Programmer.
La crisis del software
La ingeniería de software fue estimulada por la llamada crisis del software de la década de 1960, 1970 y 1980, que identifica muchos de los problemas de desarrollo de software. Muchos proyectos de software sobrepasaron el presupuesto y el tiempo estimados. Algunos proyectos causaron daños a la propiedad, y algunos causaron hasta pérdidas de vidas. La crisis del software originalmente fue definida en términos de productividad, pero evolucionó para representar la calidad del producto. Algunos utilizan el término de crisis del software para referirse a la incapacidad de contratar programadores suficientemente calificados. El costo de propiedad y mantenimiento del software en la década de 1980 fue dos veces más caro que el propio desarrollo del software. Durante la década de 1990, el costo de propiedad y mantenimiento aumentó en un 30% con respecto a la década anterior. En 1995, las estadísticas mostraron que la mitad de los proyectos de desarrollo encuestados estaban operacionales, pero no eran considerados exitosos. En 1986, Fred Brooks publicó su artículo No hay balas de plata, argumentando que ninguna tecnología individual o práctica jamás haría una mejora de 10 veces en la productividad dentro de 10 años.
Richard stallman, GNU y LINUX
En 1984 Richard Stallman deja el MIT y comienza a trabajar en su proyecto GNU, con el objetivo de desarrollar un sistema operativo completamente libre, desde el kernel, editores, compiladores, debuggers, hasta utilitarios más complejos como procesadores de texto e inclusive juegos. Uno de los primeros desarrollos realizados por el mismo Stallman fue el editor de textos GNU Emacs a principios de 1985. En ese mismo año se funda la Free Software Fundation, ente que financia desde entonces al proyecto GNU. La misma se mantiene con donaciones y con el producto de la venta de CD-ROMs tanto de programas binarios como código fuente, manuales y distribuciones completas. El éxito conseguido por estos programas que no sólo trabajan en sistemas GNU/Linux, sino que han sido portados a otras plataformas, forzaron a sus desarrolladores a dedicar un tiempo importante a su mantenimiento y mejora. De esta manera, el desarrollo completo de un sistema operativo basado en software libre se vio demorado por algunos años. Alrededor de 1990 el componente básico del sistema que causaba más problemas era el kernel. Un estudiante finlandés, Linus Torvalds, desarrolló un kernel para computadoras basadas en el procesador Intel 386, compatible con unix, que llamó LINUX. Este kernel fue también desarrollado como software libre, y rápidamente fue creciendo merced a la colaboración de programadores de todo el mundo. Alrededor de 1992 fue posible combinar el kernel Linux con los utilitarios del proyecto GNU y surgió el primer sistema operativo completamente basado en software libre.
EL auge de internet
El auge de Internet condujo a un rápido crecimiento en la demanda de sistemas internacionales de despliegue de información y e-mail en la World Wide Web. El crecimiento del uso del navegador, corriendo en el lenguaje HTM, cambió la manera en que estaba organizada la visualización y la recuperación de la información. Además, amplias conexiones de red condujeron al crecimiento y prevención de los virus informáticos.