Em poucas palavras, é possível afirmar que os principais desafios para a engenharia de software são:
| O desafio do legado, que é fazer a manutenção e a atualização dos softwares atuais, sem apresentar grandes custos e ao mesmo tempo prosseguir com a prestação dos serviços corporativos essenciais. | O desafio da heterogeneidade, que se refere a desenvolver técnicas para construir softwares confiáveis e que sejam flexíveis para lidar com diferentes tipos de equipamentos e sistemas. | O desafio do fornecimento, que deve apresentar uma redução do tempo gasto no desenvolvimento e implantação do software sem comprometer a qualidade. |
Esses desafios são referentes à evolução do software e do hardware.