Crisis de software es un término utilizado en los primeros días de la informática para referirse a la dificultad de escribir programas informáticos útiles y eficientes en el tiempo necesario. La crisis del software se debió al rápido aumento de la potencia informática y a la complejidad de los problemas que no podían abordarse. Con el aumento de la complejidad del software, surgieron muchos problemas de software porque los métodos existentes eran inadecuados.
El término "crisis de software" fue acuñado por algunos asistentes a la primera Conferencia de Ingeniería de Software de la OTAN en 1968 en Garmisch , Alemania. [1] [2] La conferencia del Premio Turing de 1972 de Edsger Dijkstra hace referencia a este mismo problema: [3]
¡La principal causa de la crisis del software es que las máquinas se han vuelto varios órdenes de magnitud más poderosas! Para decirlo sin rodeos: mientras no hubiera máquinas, la programación no suponía ningún problema; cuando teníamos unas pocas computadoras débiles, la programación se convirtió en un problema leve, y ahora tenemos computadoras gigantes, la programación se ha convertido en un problema igualmente gigantesco.
Las causas de la crisis del software estuvieron relacionadas con la complejidad general del hardware y el proceso de desarrollo del software. La crisis se manifestó de varias maneras:
La causa principal es que las mejoras en la potencia informática habían superado la capacidad de los programadores para utilizar esas capacidades de forma eficaz. Durante las últimas décadas se han desarrollado varios procesos y metodologías para mejorar la gestión de la calidad del software , como la programación procedimental y la programación orientada a objetos . Sin embargo, los proyectos de software grandes, complicados, mal especificados o que involucran aspectos desconocidos siguen siendo vulnerables a grandes problemas imprevistos.