La crisis del software es un término informático acuñado en 1968, en la primera conferencia organizada por la OTAN sobre desarrollo de software, de la cual nació formalmente la rama de la Ingeniería de Software. El término se adjudica a F. L. Bauer, aunque previamente había sido utilizado por Edsger Dijkstra. (1972). En The Humble Programmer.
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.
En la actualidad, las aplicaciones típicas son muy grandes y complejas para que un individuo las entienda y, por ello, lleva gran tiempo implementar software. El término “crisis del software” fue usado en los primeros días de la ingeniería de software. Se empleó para referirse a los rápidos incrementos de la tecnología en la computación y la complejidad de los problemas a los cuales pudieran enfrentarse.
Uno de los principales problemas en el desarrollo de software de hoy en día es que muchos proyectos empiezan la programación tan pronto se definen y concentran mucho de su esfuerzo en la escritura de código.
Algunos “síntomas” que indican que el software se encuentra en un periodo de crisis son: Baja calidad del software, tiempo y presupuesto excedido, confiabilidad cuestionable, altos requerimientos de personal para desarrollo y mantenimiento.
Hay varias razones que pueden ser propuestas como causa de la crisis, todas tienen en común que surgen por el método de valorar los avances científicos y el mecanismo actual de financiación de la actividad científica.
Las causas de la crisis del software fueron vinculadas a la complejidad en general del proceso de software y a la relativa madurez de la ingeniería de software como una profesión.
La crisis se caracterizó por los siguientes problemas:
Donde las potenciales causas son:
Muchas de las causas de la crisis del software se pueden encontrar como una mitología que surge durante los primeros años del desarrollo del software. Los mitos son actitudes erróneas que han causado problemas en el desarrollo de software. Algunos de los mitos más comunes son:
La solución para finalizar la crisis del software es brindar un enfoque ingenieril, es decir, un enfoque formal de resolución de problemas.
Fig 2. Enfoques.