Como o DevOps pode ajudar os desenvolvedores?

Como o DevOps pode ajudar os desenvolvedores?

Sabemos que a prática DevOps envolve um conjunto de pessoas, cultura, processos e ferramentas. Como esses pilares do DevOps podem ajudar os desenvolvedores?

Uma forma é o ganho de agilidade no dia-a-dia. Com o DevOps os desenvolvedores conseguem ter autonomia e agilidade para seguir com seus testes e o processo de homologação sem dependerem de atividades do time de operações. Afinal, operações já trabalhou para construir as ferramentas de automação do ambiente. Esse empoderamento dos desenvolvedores contribui para a fluidez do processo.

Como sabemos, no DevOps existe um grande peso do fator humano, onde cada membro do time, independente de sua função, deve saber trabalhar em equipe e ter empatia. Isso reflete na qualidade das ferramentas desenvolvidas pelo time de operações. Essas ferramentas serão desenvolvidas em conjunto e serão totalmente adaptadas às necessidades do time.

É possível ainda ter ganho em agilidade num outro nível, que é o de testes automatizados. Um pipeline de desenvolvimento automatizado contempla as fases de testes, que podem ser unitários, funcionais, de integração, de performance, dentre outros. Os desenvolvedores, trabalhando em conjunto com o time de operações, podem criar ferramentas para automatizar grande parte do processo de testes.

Falando da questão cultural, visto que em todas as camadas da empresa, todos os colaboradores terão como objetivos a agilidade e trabalho em equipe. Essas duas habilidades serão uma constante, direcionando o dia-a-dia da empresa. Isso reduzirá a burocracia desnecessária e possibilitará um canal de comunicação aberto com gestores, caso precisem escalar algum assunto.

Outra vantagem é a estabilidade e confiabilidade do ambiente. O time de operações deve ter seu próprio ambiente de testes e homologação das ferramentas de automação e infraestrutura como código. Isso vai garantir que tudo seja devidamente testado, em diversas etapas, antes de ir para o ambiente operacional. O desenvolvedor saberá que a ferramenta que ele está usando já foi exaustivamente testada e é confiável.

Apesar de não ser muito agradável, nem mesmo desejável, em algumas situações é necessário fazer rollback de uma alteração. Com a cultura DevOps tenta-se diminuir ao extremo essa necessidade, pois tudo deve ser muito bem testado antes de ir para a produção. Porém, caso seja necessário voltar o ambiente operacional para a versão anterior à modificação, isso não será uma dor de cabeça, pois tudo, estará devidamente documentado e automatizado.

Lembre-se que, na cultura DevOps, todos são responsáveis por tudo. Não existe a frase: “Ah, minha parte está funcionando, agora é com o Dev.”, ou “A infra está configurada e o webserver está configurado como o Dev pediu, se não está funcionando então é problema dele.” Se algo não está funcionando como deveria, todos os envolvidos, como um time, trabalharão juntos para resolver da melhor forma possível e no menor tempo possível. Esse compartilhamento de responsabilidades contribui para um time mais unido e colaborativo. Todos saem ganhando com isso, principalmente a empresa.

Podemos perceber que fatores culturais e mudança de mindset são tão importantes quanto ferramentas e processos. Todos no time devem se preocupar em evoluir tanto suas habilidades técnicas como também suas softskills. Tudo isso refletirá na qualidade do software que a empresa entrega e, por consequência, na realização profissional de todos.