Quanto os erros em software podem custar para a sua empresa?

Jones Roberto Nuzzi
5 min readNov 26, 2019

--

Muitas empresas aprendem a conviver com bugs em softwares, mas será que realmente mediram o impacto que esses problemas podem causar?

Recentemente tenho lido bastante sobre o quanto custam os problemas em software e então resolvi criar essa série de artigos para me aprofundar mais no assunto.

Acabei lendo alguns artigos em inglês e vou tentar colocar um custo real dos erros em software em nosso mercado, e como isso começar a pensar nas formas de obstruir essa perda de dinheiro com boas práticas e técnicas de desenvolvimento e como atuar na correção de problemas, comecei uma série falando sobre refatoração, o título: “refatoração de código” que está nesse link.

Tenho falando também sobre a importância do design de código nas séries sobre SOLID e Padrões do GOF, porém nesses artigos não falei nada sobre a a minha intenção em difundir boas práticas e relação entre um bom design e custo operacional, mas porque não começar a falar em testes? Bom, então vamos lá;

O custo dos erros de software para a economia

Em um relatório que acabei lendo em minha pesquisa sobre falhas em software, foi o da tricentis.com, e confesso que me assustei um pouco com o custo das falhas, segundo o relatório esse custo chegou em US $ 1,7 trilhão em perdas financeiras em 2017 ( o ano anterior havia sido US$ 1,1 trilhão).

Vou citar algumas fontes com exemplos que ocorreram ao longo dos anos, e também os 25 erros mais perigosos da atualidade:

1- ComputerWorld — 10 grandes falhas da tecnologia nos últimos anos

2- Tecmundo — Bugs: 10 falhas de computadores que causaram muito prejuízo e confusão

3- RAYGUN — 11 dos erros mais caros da história

4- CWE — Os 25 erros de software mais perigosos em 2019 (em inglês)

Dito isso, nunca foi um momento melhor para proteger os ativos da sua empresa e adotar uma abordagem proativa para solucionar erros de software. Ao fazer isso, você reduzirá os custos associados a erros de software em sua empresa.

Como você pode medir o custo de erros de software em sua empresa

Erros de software podem expor seus usuários finais a softwares lentos e com erros. Ou pior, podem comprometer a segurança dos seus produtos. No entanto, pelo que tenho visto as empresas não vão a fundo para ter a visibilidade dos erros de software, até por que medi-los pode ser uma tarefa bem difícil.

O pior é que os erros de software têm várias consequências, variando de impacto, portanto nem sempre é possível identificar a causa e o efeito. Os efeitos acabam por:

  • Custos do desenvolvedor gastos em encontrar e corrigir erros
  • Receita perdida contínua de clientes insatisfeitos

Usando algumas médias do setor, podemos ajudá-lo a calcular o custo em tempo de desenvolvimento perdido para sua empresa.

Como calcular o custo do trabalho do desenvolvedor causado por erros de software

Tomando as médias da indústria dos salários de desenvolvimento no Brasil a partir de 2017, podemos estimar os custos financeiros para sua empresa e investigar para onde está indo o dinheiro.

Você deve ter como objetivo cerca de 20 % de trabalho reativo (encontrar e corrigir erros, custos de suporte) , 80% de trabalho proativo (criar recursos e melhorar os produtos). É aqui que você adicionará o verdadeiro valor aos negócios e aos seus usuários.

pegando como base na atual divisão de pessoas em minha empresa, onde cerca de 90% dos desenvolvedores, são .Net:

vou me basear no Brasil onde a média do salário é de : R$ 6.800,00 Fonte: GeekHunter.

O Cálculo

Com base em uma semana de trabalho de 40 horas com um salário médio de R$S 120.000 anual (incluindo impostos e direitos trabalhistas) o desenvolvedor pode passar 8 horas por semana (32 horas por mês). Custando em torno de R$ 22.900,00 por ano, corrigindo erros e replicando problemas.

Este é o tempo gasto sem criar recursos novos e importantes para seus clientes. Portanto, pense duas vezes ao criar sua equipe de controle de qualidade.

Como podemos mudar o cenário?

Precisamos entender que nenhum software estará isento de problemas, e uma meta de 100% de disponibilidade também é irreal. Por isso o mais correto é prevenirmos os problemas.

Como previnir?

Alguns estudos mostram que o custo de software cresce conforme o ciclo de vida de Desenvolvimento, como mostrado na imagem a seguir.

Testar problemas que ocorrem em produção elevam o custo devido a falta de ferramentas em servidores produtivos, por exemplo na máquina do desenvolvedor normalmente temos várias ferramentas de depuração e testes.

A produção é um ambiente muito mais hostil. Quando os problemas são encontrados no front-end, em particular, eles podem ser ainda mais complexos para diagnosticar e resolver.

Não existe mágica, é necessário cada vez mais que os desenvolvedores sejam capacitados a utilizar boas práticas de desenvolvimento, utilizando os melhores padrões para seu devido fim. E também realizar testes para mitigar os problemas que podem ser gerados. Para que isso seja possível é importante ter em mente a importância do engenheiro de testes na sua empresa para ajudar os desenvolvedores a realizar os testes adequados, sejam eles e2e, unitários ou de stress.

Bom pessoal, vou ficando por aqui nesse primeiro artigo da série, onde eu pretendo falar sobre testes de software e a importância deles para reduzir custos, pretendo no próximo artigo começar a falar sobre a importância de testes unitários e como eles ajudaram os nossos times a resolver problemas antes de estarmos em produção. Abraço e até a próxima.

--

--

Jones Roberto Nuzzi

Arquiteto de Sistemas na Riza Asset, Sempre focado em desenvolvimento de sistemas para o mercado financeiro, com mais de 15 anos de experiência!