Custo de manutenção de software: o quadro a dez anos

Avatar
Autor

Um orçamento de desenvolvimento termina na entrega. A vida do sistema não. O custo de manutenção de software também não.

É por isso que a visão a um ano do custo de manutenção de software engana tanto. Um sistema que custa 80.000 € a construir e parece acessível no primeiro ano transforma-se num compromisso de 200.000 € ou mais ao longo da sua vida útil. Esse número existe quer alguém o tenha orçamentado quer não. A decisão que mais o influencia não é a taxa horária nem a tecnologia. É quem fica com o conhecimento no dia da entrega.

ValorO que significa
15–20%Do custo de construção, por ano, em manutenção. Algumas fontes indicam 10 a 20 por cento
200–1.500 €Por mês em alojamento e infraestrutura, consoante a dimensão do sistema
150–200 mil €Dez anos de manutenção numa construção de 100.000 €, antes de qualquer funcionalidade nova
1,5–2×Quanto custa a manutenção face à construção original ao longo de uma década
O orçamento inicial paga a parte mais pequena do projeto. Nenhum do custo recorrente compra funcionalidades novas: compra o sistema a continuar a fazer exatamente o que já fazia.

Em que é gasto o custo de manutenção de software?

O custo de manutenção de software divide-se por quatro tipos de trabalho, distinguidos na ISO/IEC 14764 e com comportamentos muito diferentes na prática. A manutenção corretiva é a que todos orçamentam. A manutenção adaptativa é a que rebenta os orçamentos.

TipoO que cobreNa prática
CorretivaCorrigir o que apareceDefeitos que surgem com uso real. Não é previsível, concentra-se nos primeiros meses e depois estabiliza.
AdaptativaAcompanhar o exteriorSistemas operativos, dependências, integrações, legislação. Chega de fora, sem aviso e ao ritmo de outra pessoa.
PerfectivaMelhorar o que existeDesempenho, usabilidade, pequenos ajustes. A única que pode de facto adiar.
PreventivaReduzir a dívida antes de custarPrevisível, e a primeira a ser cortada, porque é a única sem sintoma visível.
A manutenção preventiva é a única que reduz o custo das outras três. Um sistema sem ela não parece pior no segundo ano. Parece idêntico, e no quinto ano cada alteração demora três vezes mais. A dívida técnica não é uma metáfora contabilística: é trabalho futuro contratado sem ninguém o assinar.

O que é que realmente força mudanças?

Vale a pena ver com exemplos concretos em vez de categorias abstratas. Os dois que se seguem vêm de trabalho que fazemos e podem ser verificados publicamente.

Muda uma geração de hardware. Portugal começou a emitir o Cartão de Cidadão v2 em junho de 2024, redesenhado para cumprir as normas de segurança e de formato do Regulamento (UE) 2019/1157. O cartão v2 usa chaves ECDSA onde o v1 usava RSA, e suporta leitura sem contacto. Qualquer integração construída antes de meados de 2024 e não tocada desde então está a funcionar com pressupostos que o cartão já não cumpre. Nenhuma linha do código do cliente mudou. O contexto mudou.

Uma distribuição atualiza uma dependência. Nas distribuições que trazem o pcsc-lite 2.3.0, como o Ubuntu 24.10 e o Fedora 41, passou a ser necessário um pacote flatpak específico para o middleware funcionar. Uma decisão tomada a montante, por quem mantém uma distribuição Linux, e um custo real para qualquer pessoa que tenha esse software em produção.

Estes dois casos ilustram o padrão geral. A manutenção adaptativa não é desencadeada por si. É desencadeada por fabricantes de hardware, por quem mantém sistemas operativos, por reguladores e por parceiros de integração.

Está a orçamentar um projeto para 2027? Envie-nos o âmbito e recebe o quadro a dez anos, não apenas a construção.
Fale com a nossa equipa →

O que faz o custo de manutenção de software subir ou descer?

Seis fatores mexem no custo de manutenção de software, ordenados pelo impacto ao longo de uma década. O primeiro é dominante e o menos discutido.

  1. 1
    Quem fica com o conhecimento. Se a equipa que construiu o sistema se dispersar na entrega, o primeiro ano de manutenção é gasto a redescobrir decisões. A continuidade é mais barata do que a documentação, e a documentação é muito mais barata do que a arqueologia.
  2. 2
    Número de integrações. Cada sistema de terceiros é uma superfície de mudança fora do seu controlo. As integrações acrescentam 20 a 30 por cento à construção inicial e continuam a cobrar durante toda a vida do sistema.
  3. 3
    Escolhas tecnológicas. Não moderno contra antigo, mas suportado contra abandonado. Uma tecnologia aborrecida com dez anos de suporte garantido custa menos a manter do que uma framework entusiasmante cujos responsáveis seguem para outra coisa no terceiro ano.
  4. 4
    Cobertura de testes. Um sistema com testes pode ser alterado com confiança. Um sistema sem testes exige verificação manual de cada alteração, todas as vezes, para sempre. É aqui que se decide o número a dez anos, e é a linha que mais vezes é cortada do orçamento de construção.
  5. 5
    Requisitos de conformidade. Os setores regulados acrescentam evidência, auditorias e retenção. É um custo real e previsível, o que é preferível a um custo real e imprevisível.
  6. 6
    Dimensão da base de utilizadores. Mais utilizadores significa mais casos-limite encontrados, mais suporte e mais pressão sobre o desempenho.

Quando é que reescrever sai mais barato do que manter?

Há um ponto em que manter deixa de fazer sentido, e chega mais tarde do que a maioria das equipas de engenharia gostaria. Uma reescrita justifica-se quando a tecnologia perdeu o suporte de segurança sem caminho de atualização, quando cada alteração parte sistematicamente três coisas noutro sítio, quando ninguém na organização percebe partes significativas do sistema ou quando a manutenção anual se aproxima do custo de o construir de novo.

Há três más razões que aparecem muito mais vezes. A tecnologia é antiga, mas antigo e a funcionar é um ativo e não um problema. A equipa atual preferia trabalhar noutra coisa, o que é uma questão de gestão e não de arquitetura. E é mais fácil conseguir orçamento para um projeto novo do que para manutenção, o que é verdade, e é assim que as organizações acabam a reescrever sistemas que funcionavam.

Uma reescrita põe o relógio a zero: um novo custo de construção, uma nova vaga de defeitos iniciais e os mesmos 15 a 20 por cento por ano a partir daí. Só compensa quando a fatura de manutenção é de facto pior.

A prova que é difícil de ter

A maioria das empresas de software não consegue mostrar o que acontece a um sistema ao fim de dez anos, porque não estava lá. Trabalhamos há mais de uma década no middleware nacional português de identidade digital, incluindo o Cartão de Cidadão e o respetivo software. Nesse período, o middleware absorveu uma mudança de geração do cartão com um algoritmo criptográfico diferente, a introdução da leitura sem contacto, várias versões da regulamentação europeia aplicável e alterações de dependências ao nível das distribuições Linux.

Nenhuma destas mudanças foi pedida por um cliente. Todas tiveram de ser absorvidas para o sistema continuar a funcionar. É isso que é a manutenção, e é por isso que a percentagem anual não é uma taxa de serviço: é o preço de o sistema continuar a existir num mundo que não fica parado.

Como orçamentar o custo de manutenção de software?

Trate a manutenção como uma linha do orçamento desde o início. Construção mais 15 a 20 por cento por ano mais infraestrutura, ao longo do horizonte que o sistema vai ter de facto. Se esse número for inaceitável, o projeto não é viável, custe a construção o que custar.
Decida quem mantém antes de entregar. A equipa que construiu, uma equipa interna que recebe o código ou um modelo misto. Qualquer um funciona. Nenhum funciona se a decisão chegar seis meses depois.
Compre cobertura de testes durante a construção. É a única linha do orçamento inicial que reduz de forma mensurável o custo dos dez anos seguintes. Cortá-la para caber no orçamento de construção passa o custo para um sítio onde não tem de o justificar hoje.
Separe manutenção de evolução. Manter é o sistema continuar a fazer o que fazia. Evoluir é pô-lo a fazer mais. Juntá-las numa única linha do orçamento garante que a evolução come a manutenção, e o sistema degrada-se sem ninguém reparar.

O que deve cobrir um contrato de manutenção de software?

Os quatro tipos de trabalho, cada um nomeado. Um contrato que diz apenas "manutenção" costuma cobrir o trabalho corretivo e deixar o adaptativo para negociar caso a caso. É aí que o custo de manutenção de software se torna imprevisível.

Para além do âmbito, há três cláusulas que importam mais. Tempos de resposta por gravidade, para que uma falha em produção e um problema estético não sejam tratados da mesma forma. Responsabilidade pelas dependências e pelas mudanças de plataforma, para ficar claro quem age quando um sistema operativo ou uma biblioteca muda. Transferência de conhecimento à saída, para que o sistema possa passar para outra equipa sem começar do zero.

Um relatório mensal ou trimestral do que foi feito, por tipo de trabalho, fecha o ciclo. Mostra se o trabalho preventivo está a acontecer ou apenas a ser prometido.

Perguntas frequentes

O custo de manutenção de software em números

Quanto custa a manutenção de software por ano?
As referências públicas convergem em 15 a 20 por cento do custo de construção por ano, com algumas fontes a indicar 10 a 20 por cento. A infraestrutura e o alojamento acrescentam 200 a 1.500 € por mês, consoante a dimensão do sistema. Numa construção de 100.000 €, são 15.000 a 20.000 € por ano antes de qualquer funcionalidade nova.
A manutenção custa mais do que a construção original?
Num horizonte de dez anos, sim. A 15 por cento por ano, a manutenção acumulada chega a uma vez e meia o custo de construção; a 20 por cento, ao dobro. É aritmética simples sobre as percentagens publicadas, e é por isso que orçamentar só a construção subestima o compromisso real.

Porque acontece

Porque é que software que não muda precisa de manutenção?
Porque o contexto muda. As dependências perdem suporte, os sistemas operativos alteram o comportamento, os parceiros mudam APIs, as gerações de hardware mudam e entram em vigor obrigações legais. O Cartão de Cidadão v2, emitido desde junho de 2024, passou de chaves RSA para ECDSA, o que afeta integrações que não mudaram uma única linha de código.
Quais são os tipos de manutenção de software?
Corretiva, que corrige defeitos; adaptativa, que acompanha mudanças externas como sistemas operativos, dependências e legislação; perfectiva, que melhora o que existe; e preventiva, que reduz a dívida técnica. A adaptativa é a menos previsível, e a preventiva é a primeira a ser cortada, apesar de ser a única que baixa o custo das outras três.

O que fazer

Quando é que vale a pena reescrever em vez de manter?
Quando a tecnologia perdeu o suporte de segurança sem caminho de atualização, quando cada alteração parte sistematicamente outras coisas, quando ninguém na organização percebe partes significativas do sistema ou quando a manutenção anual se aproxima do custo de o reconstruir. Ser antiga não é, por si só, razão para reescrever uma tecnologia que funciona.
Como posso reduzir o custo de manutenção?
Manter o conhecimento perto do sistema, com continuidade da equipa e documentação; comprar cobertura de testes durante a construção, que é a linha inicial com maior efeito na década seguinte; limitar o número de integrações; escolher tecnologias com suporte previsível; e orçamentar a manutenção preventiva em vez de a cortar sob pressão.
Caixa Mágica Software, desenvolvimento e manutenção de software
Equipa Caixa Mágica
A Caixa Mágica Software é uma empresa portuguesa de software com mais de 20 anos de experiência em software à medida, soluções de IA e equipas de desenvolvimento nearshore para empresas europeias.
Desenvolvimento de Software · Caixa Mágica Software
Fale com uma equipa que ainda lá estava ao fim de dez anos
Trabalhamos no middleware nacional português de identidade digital há mais de uma década e mantemos sistemas em produção com o mesmo cliente durante anos. Se está a orçamentar um projeto para 2027, envie-nos o âmbito e recebe o quadro a dez anos em vez de apenas a construção.