Vou colocar minhas considerações sobre a análise dessa situação e colocar também considerações muito importantes de outros colegas.
O desenvolvimento de software hoje em dia vem se tornando cada vez mais rápido e com maior qualidade do que antigamente.
Parte disso deve-se ao fato de muitas linguagem possuírem frameworks que, de uma certa forma, dão velocidade ao desenvolvimento e uma maior qualidade, pois trazem as boas práticas de desenvolvimento dentro delas.
As IDE's também tem um papel importante nisso, pois cada vez estão mais automatizadas e integram diversas ferramentas de qualidade, como qualidade de código (debugger e testes unitários) e até mesmo testes funcionais e performance (caso do Visual Studio).
Os clientes também estão cada vez mais exigentes nas três restrições de gerenciamento de projetos: prazo, custo e qualidade.
Frente a toda concorrência e velocidade de entrega de aplicações, muitas empresas (geralmente de médias a grandes) contratam pessoas em um curto espaço de tempo para desenvolverem uma aplicação para o cliente. O que acontece em muitos casos é que ou a aplicação demora muito para ser entregue (restrição de prazo e as vezes de custo) ou é entregue no prazo (porém com a restrição de qualidade afetada).
Existe até uma tendência que podemos visualizar no mercado atual: pequenas empresas conseguem entregar um projeto no prazo correto, no custo previsto e com qualidade. Isso pode ser deduzido em pessoal treinado, motivado, entrosado e poucos clientes na empresa.
Já empresas de médio porte geralmente possuem problemas com algumas destas restrições, pois possuem mais projetos para gerenciar e desenvolver, e muitas vezes não possuem profissionais para o projeto.
Podemos ver claramente alguns dados do cenário atual de empresas de desenvolvimento pelo:
- Site do MPS.BR: http://www.softex.br/mpsbr/_livros/resultado_desempenho.asp
- Site da MCT
- http://www.mct.gov.br/index.php/content/view/3248.html
- http://www.mct.gov.br/index.php/content/view/2144.html
- http://www.mct.gov.br/index.php/content/view/2833.html
- http://www.mct.gov.br/index.php/content/view/3247.html
- Apresentação sobre mercado de teste: http://www.slideshare.net/elias.nogueira/o-mercado-de-teste-de-software-presentation
Há também a mudança natural da melhoria dos processos que guiam o desenvolvimento de software, como a apresentação e adoção de metodologias ágeis como XP, Scrum, BDD e outras que, mesmo que um certo tempo de existência, estão se tornando uma boa alternativa ao desenvolvimento com qualidade.
Apesar de vermos que a adoção de uma metodologia ágil aplicada corretamente pode trazer diversos benefícios, muitas empresas com uma certa bagagem de mercado ou fora desta realidade seja resistentes a tais mudanças. A tendência é que empresas novas ou com pessoas com a mente aberta a mudanças dente a apresentar um produto com mais qualidade e até com comprimento de prazos. Esta foi a visão colocada por Jhonatan Fernando de Oliveira.
Também há uma movimentação para o avanço da Engenharia de Software, com novas atualizações para seguir os novos padrões de mercado, surgimento de novas tecnologias, modelos, normas e padrões de avaliação para o processo de desenvolvimento de software. Essa foi a visão dada por Andressa Nogueira Fonseca.
Fabio Teixeira Lobato nos lembrou de algo muito impotante: a evolução crescente de todas tecnologias voltadas para a engenharia de software como a evolução nas linguagem de programação e os SGDB's.
Abraços!