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 ao ser laureado com o Prêmio Turing, intitulada The Humble Programmer (EWD340) e publicada no periódico 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 várias formas:
- Projetos estourando o orçamento;
- Projetos estourando o prazo;
- Software de baixa qualidade;
- Software muitas vezes não satisfaz os requisitos;
- Projetos ingerenciáveis e código difícil de manter;
A maior parte dos projetos continuam com estes problemas ainda na atualidade, assim pode se dizer que a crise continua vigente ainda na atualidade.[1]
As soluções para a crise de software:
- Análise econômica de sistemas de informação;
- O uso de melhores técnicas, métodos e ferramentas;
- Interesse do governo em treinamentos e educação[carece de fontes];
- A mudança de paradigma sobre o que é desenvolver software e como deveria ser feito;
Referências