A maioria dos problemas associados à manutenção de software pode remeter-se também a deficiências na maneira segundo a qual o software foi planejado e desenvolvido. O que acontece é a seguinte situação: "pague agora ou pague muito mais depois", ou seja, ou o projeto é bem feito, ou você vai gastar muito dinheiro com a manutenção posterior. A falta de controle e disciplina nas atividades de desenvolvimento da engenharia de software quase sempre se traduz em problemas durante a manutenção do software.
Alguns dos muitos problemas clássicos nos projetos e manutenções:
Se o projeto do sistema tiver seguido um padrão de desenvolvimento, com uma metodologia, é muito provável existir uma configuração de software completa. Assim a tarefa de manutenção inicia-se com uma avaliação da documentação de projeto. As características estruturais, de desempenho, e de interface importantes do software são determinadas. O impacto das modificações ou correções exigidas é avaliado, e uma abordagem é planejada. O projeto é modificado e revisado. Um novo código-fonte é desenvolvido, testes de regressão são levados a efeito, e o software é liberado novamente.
Essa sequência de eventos constitui uma manutenção organizada e com menos risco de insucesso. Mas sem dúvida é muito mais seguro que a manutenção de algo que não se sabe o que é e o que tem dentro do código.
É a repetição de testes passados para garantir que as modificações não introduziram falhas no software anteriormente operacional.
X