Automatização Ltda.

Thiago Almeida
DevOps Dojo
Published in
4 min readAug 28, 2017

Você aí consegue dizer que nunca pensou “Puta trabalho ~de corno~ ingrato essa atividade aqui, coisa mó mecânica, poderia ser muito mais útil, eficiente, usando o cérebro”? E eis que a mágica acontece: você tem uma epifania dos deuses e decide que vai automatizar aquela tarefa.

Vamos ver sobre o conceito de automatizar. Segundo o dicionário, ‘automatização’ é o ‘ato de automatizar’ — eu adoro essas definições de dicionários, acho muito úteis.

Automatização = Ato de Automatizar

Mas, zoeiras em off, automatização tem a ver com usar um meio automático pra realizar uma atividade, sendo que algo que era feito de forma manual ou com a intervenção de um humano passa a ser feita por outro sistema, no caso, computadores.

Logo, na teoria, você pega alguma atividade maçante, simples, repetitiva e você manda o computador fazer isso, porque assim você consegue ser mais útil. A prática de automatização viabiliza muitas coisas que manualmente seriam ou impossíveis ou simplesmente muito insensatas de serem feitas.

Quando a gente fala de DevOps, no sentido de uma extensão de metodologias ágeis, você traz os valores do manifesto com ele, principalmente em relação ao porque um desenvolvimento ágil se define como mais rápido: ele não é feito de forma mais rápida que um tradicional, mas ele, sim, traz valor de forma mais rápida. E por que isso, produção? Porque ele encontra problemas e gera correções mais rápido, em todos os pontos possíveis no seu processo. E sim, amiguinho, é aqui que a cultura de DevOps prega seu lema: AUTOMATIZAR TUTÔ!

Eu adoro esse meme

A automatização dos processos permite que a alma do negócio esteja no que realmente dá valor no final de um projeto, que nada mais é que uma SOLUÇÃO resolvendo um PROBLEMA. Sendo assim, a ideia é que todos num projeto devem estar preocupados com regras de negócio dele, pra entregar valor real pro cliente. As tarefas necessárias, mas que são pé no saco, ficam a cargo do computador, porque isso aumenta a confiabilidade no que sai e libera tempo pra que os humanos façam o que só eles sabem fazer, que é pensar. Desenvolvimento, testes (#amorMaior), implantação, manutenção, tudo pode e deve ser automatizado, porque, além da confiabilidade, essas tarefas são executadas muito mais rápido do que por humano, permitindo que sejam executadas numa frequência bem maior.

MAS, vamos lembrar que tudo que é demais acaba fazendo mal (isso acontece até com bacon e Nutella).

A vida sabe ser injusta, às vezes…

Existem questões não muito determinísticas quando você tá começando um projeto e vai partir pra automatização. Por exemplo: existe uma porrada de ferramentas por aí, elas podem ser muito boas se usadas da forma correta. Entretanto, existe uma certa deturpação da ideia, quando as atividades começam a ficar muito complexas. Vamos lembrar da definição: você automatiza tarefas simples, repetitivas e longas. Quando você começa a estender automatização pra tudo que aparece na frente, cara, vai por mim, é só arranjar pra cabeça.

Vamos por no gráfico.

O desenhinho aqui em cima é um gráfico de custo-benefício entre automatizar uma tarefa ou executar ela manualmente. Como você pode ver, de começo, você investe muito mais pra começar a automatizar, porque existe toda a curva de aprendizado da ferramenta de automatização, por exemplo. Contudo, quando o legado começa a crescer (seu sistema começa a ter dez, onze, doze features) aí tem uma coisinha que começa a pesar: regressão. Principalmente falando sobre testes, mas não só para eles, quanto maior o seu sistema, mais você precisa garantir que novas features ou correções nas existentes não vão quebrar tudo o que já existe. E é por isso que depois de um tempo, o esforço de automatização começa a valer a pena, porque a regressão é de graça (e sem pagar nada por isso).

Mas e aí? O que você já experimentou de automatização? Tenho certeza que você tá com vontade de comentar alguma coisa aqui embaixo! Vamos, não seja tímido!

Referências: http://searchsoftwarequality.techtarget.com/tip/Test-automation-When-how-and-how-much

--

--