A
crise do software foi um termo utilizado nos anos 1970, quando a
engenharia de software era praticamente inexistente. O termo expressava as dificuldades do
desenvolvimento de software frente ao rápido crescimento da demanda por software, da complexidade dos problemas a serem resolvidos e da inexistência de técnicas estabelecidas para o desenvolvimento de sistemas que funcionassem adequadamente ou pudessem ser validados.
A noção da crise do software emergiu no final dos anos
60. Uma das primeiras e mais conhecidas referências ao termo foi feita por
Edsger Dijkstra, na apresentação feita em 1972 na
Association for Computing Machinery Prêmio Turing, intitulada "The Humble Programmer" (EWD340), publicada no periódico
en:Communications of the ACM. O artigo pode ser encontrado em
Edsger Dijkstra: The Humble Programmer (PDF, 473Kb)] As causas da crise do software estão ligadas a complexidade do processo de software e a relativa imaturidade da engenharia de software como profissão. A crise se manifesta de varias formas:
- Projetos estourando o orçamento;
- Projetos estourando o prazo;
- Software de baixa qualidade;
- Software muitas vezes não atingiam os requisitos;
- Projetos ingerenciáveis e o código difícil de manter.