Engenharia de software
A crise do software foi um termo criado para descrever as dificuldades enfrentadas no desenvolvimento de software no final dos anos 60. A crescente demanda por novas aplicações, a complexidade dos softwares e a ausência de técnicas bem estabelecidas para o seu desenvolvimento começaram a se tornar um problema sério na indústria de software, esta estava falhando repetidamente na entrega de resultados dentro dos prazos, quase sempre estourando os orçamentos e apresentando um grau de qualidade duvidoso ou insatisfatório.
Tendo em vista todos estes problemas, em 1968 foi realizada a conferência da OTAN sobre Engenharia de Software (NATO Software Engineering Conference) em Garmisch, Alemanha, nela procurou-se estabelecer práticas mais maduras para o processo de desenvolvimento, por essa razão o encontro é considerado hoje como o nascimento da disciplina de Engenharia de Software que tenta fornecer métodos confiáveis e ágeis para construção de software.
Em 1995, a organização The Standish Group publicou um estudo analisando as estatísticas sobre o sucesso e fracasso dos projetos de desenvolvimento de software: o Chaos Report, neste foi revelado que 84% dos projetos de software são malsucedidos, sejam sendo cancelados ou apresentando falhas críticas. Este relatório continuou a ser publicado regularmente e em 2010 ainda 63% dos projetos de software são malsucedidos, sendo estes cancelados ou sofrendo atrasos em sua entrega.
Dentre aos problemas que originaram esta crise podemos citar alguns problemas enfrentados pelas empresas desenvolvedoras como as estimativas de prazo e de custo frequentemente imprecisas, falta de entendimento dos requisitos por parte dos desenvolvedores, softwares escritos de forma a serem difíceis de manter e impossíveis ou muito difíceis de serem reaproveitados em outros projetos, falta de informações no desenvolvimento do projeto que deveriam ter sido coletadas para poder-se desenvolver e que são