A Manutenção de software é resultante de mudanças no ambiente de negócio da organização onde o software opera, e por ser realizada quando o sistema está em sua fase de plena operação não pode ser deixada em segundo plano, já que muitas vezes este mesmo software acaba se confundindo com o próprio negócio da organização.

Assim, a manutenção no software é uma necessidade incontestável, sendo a responsável por consumir a maior fatia dentre os recursos financeiros e humanos de uma empresa de software.

Entretanto, o que se vê nas organizações de acordo com Sommerville, é que uma importância menor é dada a esta fase do ciclo de vida do software, designando em alguns casos, profissionais de pouca experiência, onde deveria atuar profissionais experientes, por precisar de conhecimentos sobre o domínio da aplicação, sobre os detalhes existentes no código-fonte, acerca da organização e das pessoas que nela trabalham, sobre as práticas adotadas, linguagens de programação, técnicas de modelagem, levantamento de requisitos, testes, entre outras atividades.

Há estudos estatísticos que afirmam que a manutenção de software representa cerca de 80% do orçamento total do desenvolvimento de um software e que de 40% a 60% do esforço para realizar as manutenções é direcionado ao processo de entendimento do software como um todo.

Vale também ressaltar que embora não seja um consenso, considero a existência de 4 tipos de manutenção de software, sendo elas a manutenção corretiva, adaptativa, evolutiva e preventiva.