A manutenção de Software é, certamente, bem mais do que "consertar erros". A manutenção envolve também a evolução, adaptação e aperfeiçoamento do sistema pronto.
Em alguns sistemas, a manutenibilidade é quantificada em termos de tempo médio requerido para efetivar a revisão do software para eliminar um erro ou realizar uma evolução. Esse atributo é muito significativo para um software, uma vez que a etapa de manutenção pode consumir até 65% do custo total de um produto.
Vimos anteriormente que a primeira vez em que aparecem falhas de software é durante a fase de teste. Detecção de falhas, depuração, correção e teste de regressão são as atividades executadas durante a fase de teste e integração. Nesta fase, muitos dos problemas do software vêm à tona e são corrigidos, porém, fatalmente, outros somente aparecerão após a sua implantação, quando em operação pelos usuários.
Portanto, após a implantação do sistema em produção, o ciclo de vida do projeto termina e inicia o ciclo de vida da manutenção do sistema. Nesta fase, a correção de um erro ou o melhoramento funcional obriga que a modificação seja analisada, implementada, testada, documentada e integrada. Por este motivo, cada manutenção acaba sendo sempre um processo trabalhoso e delicado, buscando que o novo código não introduza novos erros e que a documentação seja atualizada para refletir as modificações.