julho 31, 2018

[Segurança] Custo de corrigir bugs em produção

Não há dúvidas que, quanto mais cedo um erro for descoberto no processo de criação de um produto, menor vai ser o custo para repará-lo. Um relatório clássico do Systems Sciences Institute da IBM mostrou que o custo para consertar um bug encontrado durante a implementação de im software foi cerca de 6 vezes mais caro do que um identificado durante o projeto. Consertar os bugs encontrados durante a fase de testes pode ser 15 vezes mais caro e 100x mais caro se for na fase de manutenção do software.


Segundo um estudo da empresa Tricentis, de 606 falhas de software identificadas em 2017, o impacto correspondeu a cerca de metade da população mundial (3,7 bilhões de pessoas), US$ 1,7 trilhão em ativos e 314 empresas.


Como exemplo, uma falha no sistema de gerenciamento da bateria do Samsung Note 7 custou a empresa cerca de 17 bilhões de dólares.

O custo de remediarão de um bug após o software ir para produção inclui muito mais elementos do que, apenas, as horas necessárias da equipe de desenvolvimento. A correção de um bug encontrado após a implantação de uma ferramenta (ou após ela ser lançada para o mercado) inclui custos adicionais que não são encontrado durante as fases de design, codificação e testes, tais como:
  • Custo de testes de com integrações e ambientes específicos de clientes;
  • Custo de recertificação da ferramenta (se isso se aplicar);
  • Custo de nova implantação do software (ou custos de realizar o upgrade);
  • Custos de suporte aos clientes antes e depois de implantar a nova versão da ferramenta;
  • Custos indiretos por dedicar recursos da área de desenvolvimento para identificar, pesquisar e corrigir os bugs, em vez de implementar novas funcionalidades;
  • Responsabilidade civil por danos causados pelo bug (se aplicável).
Por conta dos fatores acima, o custo direto e indireto de encontrar e corrigir um bug após a ferramenta estar pronta pode ser muito maior comparado aos custos de corrigir um bug nas fases iniciais do ciclo desenvolvimento de um software.



Esse artigo, bem interessante, mostra como o uso de desenvolvimento ágil pode reduzir o impacto a longo prazo nos custos para correção e manutenção de software. O autor argumenta que, como no método Agil os ciclos de feedback são mais curtos, esse custo a longo prazo tende a ser menor do que nas metodologias convencionais de desenvolvimento.



Nesse artigo do Louis Cremen, ele também cita a diferença de custo em identificar bugs maus cedo no processo de desenvolvimento de software, e usa o diagrama abaixo, atribuído ao Defense Systems Management College, em 1993:


Para saber mais:
Post atualizado em 20/12/2022.

Nenhum comentário:

Creative Commons License
Disclaimer: The views expressed on this blog are my own and do not necessarily reflect the views of my employee.