Eu passei e ainda passo por algo semelhante, e infelizmente é algo bastante comum. A verdade é que quando a liderança não valoriza a qualidade do código, é algo difícil de mudar.

Eu tive sucesso parcial quando conseguia quantificar e atribuir um valor quando a qualidade era baixa. Por exemplo, mostrei o tempo e dinheiro que perdíamos com nosso processo manual de deployment e quanto poderíamos economizar automatizando os processos, além de estimar quanto tempo isso levaria. Fiz o mesmo ao mostrar como testes em uma área crucial do sistema poderiam economizar tempo e dinheiro.

Além disso, mudei minha mentalidade. De agora em diante, escrevo meus testes, estabeleço prazos realistas, documento o que faço e, mais importante, mostro o que faço (o famoso marketing) sem me importar com os outros. Algumas vezes, cheguei a gravar vídeos dos meus testes automatizados para apresentar em reuniões.

Isso me deu uma reputação de alguém que leva um pouco mais de tempo, mas que entrega com qualidade. Até percebi que alguns gestores preferem atribuir esse tipo de trabalho mais crítico para mim.

Sei que minha resposta não é muito motivadora, mas é verdadeira.

Por gentileza, como você fez para quantificar o tempo e dinheiro de acordo com a qualidade?

Sobre o processo do deploy, imagino que daria para fazer uma relação de preço/hora do dev em relação tempo gasto para fazer o build e deployment manual. Agora não consegui imaginar isso em no caso da qualidade do código e no uso de testes.

> Sobre o processo do deploy, imagino que daria para fazer uma relação de preço/hora do dev em relação tempo gasto para fazer o build e deployment manual Correto. > Agora não consegui imaginar isso em no caso da qualidade do código e no uso de testes. Utilizei o tempo gasto para fazer os testes manualmente em cada deploy por um ano levando em conta o salario das pessoas testando. Voce vai precisar saber do salario de algumas pessoas ou voce pode simplesmente pegar qualquer media salaria de alguma pesquisa. Algo mais ou menos assim: | Descricao | Tempo em horas | | --- | --- | | Testar fluxo A | 1h | | Testar fluxo B | 2h | | Testar fluxo C | 3h | | Testar fluxo x | xh | | Total de horas para testar manualmente | 15h | ``` ### Custo por Deploy: Total de horas para testar manualmente: 15h Custo salarial por hora: $37 Custo salarial por deploy: $555 ### Custos em 6 meses Total de deploy em 6 meses: 12 Custo salarial para testar todos os deploys durante 6 meses: $6660 ### Projecao de custos em 2 anos sem automatizacao $6660 * 4 = $26640 ### Projecao de custos em 2 anos com automatizacao Custo salarial para automatizar os tests: $8000 Custo salarial para testar todos os deploys durante 6 primeiros meses: $6660 Primeiros 6 meses = $6660 + $8000 Custo de infra para rodar os testes automatizados nos 18 meses subsequentes: $50 $6660 + $8000 + ($50 * 18) = $15560 Total de economia salarial em 2 anos = $26640 - $15560 = $11080 ``` ### Conclusao Em 2 anos, paguaremos `$26640` se continuarmos a testar manualmente e `$15560` se investimos em automacao. Isso eh uma reducao de 40% dos custos que serao ainda maiores se olharmos para um projecao mais longa como 4 anos por exemplo.