Hiflex

Compartilhar

DevOps – 5 Práticas Importantes na Transformação Digital

Processos e cultura são importantes na transformação digital, porém algumas práticas técnicas devem ser seriamente consideradas, pensando também em uma Cultura DevOps. Neste artigo abordarei quais são estas práticas.

Como a Transformação Digital e DevOps são abordados pelo mercado muitas vezes

Transformação digital, além de mudanças e readequação de processos e cultura, envolve também boas e consolidadas práticas tecnológicas.

Porém venho observando que o mercado está muito focado em métodos, frameworks, soft-skills e vem deixando de lado algumas práticas que são premissas para realmente termos transformações digitais.

Utilizando um jargão muito conhecido por profissionais de tecnologia, este artigo será sobre “escovar bits e bytes” e entender conceitos básicos de DevOps.

DevOps – Vamos às cinco práticas:

1) Desenvolvimento orientado à testes

Prática também conhecida como TDD (Test-Driven Development, em Inglês), oriunda da metodologia Extreme Programming, também conhecida como XP.

Nesta prática, o desenvolvedor de software migra de uma abordagem que consiste em desenvolver grandes lotes de código para depois testá-los, o que pode aumentar a chance de maiores bugs e defeitos no produto para uma abordagem onde:

  • Define-se o teste a ser realizado
  • Desenvolve-se o código de teste, que deve falhar
  • Desenvolve-se o código suficiente e necessário para o teste passar
  • Executa-se novamente o código de teste
  • Em caso de falha, deve-se revisitar o código
  • Em caso de sucesso, deve-se ajustar o código deixando-o “limpo” (Clean Code) para seja de fácil compreensão e manutenção.

Algumas ferramentas existentes para o apoio no Desenvolvimento orientado a testes são: JUnit, PHPUnit, NUnit, CUnit, PyUnit, SimpleTest, entre outras.

2) Automação de testes

Um dos princípios fundamentais do Sistema Toyota de Produção, consolidadas na abordagem Lean, é separar o trabalho das máquinas do trabalho dos humanos.

Quando falamos de soluções digitais, os humanos são fundamentais na ideação e desenvolvimento. Porém os códigos de testes construídos na prática de Desenvolvimento Orientado à Testes, uma vez consolidados, devem ser automatizados e não mais serem executados pelas pessoas que desenvolveram.

Dentre as ferramentas mais conhecidas de automação de testes, temos o Selenium e o Cucumber.

3) Arquitetura de microsserviços

Para que as duas práticas anteriores funcionem adequadamente é crucial que a solução digital seja construída através de microsserviços.

Microsserviços é uma abordagem de decomposição da solução em componentes mínimos, independentes e que podem ser testados isoladamente.

Diferente das chamadas “soluções monolíticas”, onde todo o código é desenvolvido em um único bloco, gerando complexidade de manutenção, entendimento e o chamado “acoplamento”, onde uma simples mudança pode impactar toda a solução.

4) Integração Contínua

Integração contínua é um processo automatizado que verifica se um determinado código desenvolvido pode ser “efetivado” ou não.

No geral as ferramentas de integração contínua são programadas para executar passos que verificam o impacto do código desenvolvido na solução como um todo. Estes passos podem ser:

  • Execução dos testes unitários automatizados
  • Verificação se o código atende padrões de boas práticas (Clean Code)
  • Execução de testes integrados automatizados
  • Execução de testes de regressão
  • Verificação de conflitos de versionamento de código

5) Entrega Contínua / DevOps

A cada dia que passa, as demandas e necessidades dos clientes que consomem soluções digitais estão aumentando exponencialmente.

Isto faz com que a frequência dos lançamentos de versões atualizadas das soluções seja cada vez maior e, para isto, as empresas devem possuir uma estrutura que permita um fluxo automatizado de entrega contínua.

O fluxo de entrega contínua, também chamado de pipeline, é uma consequência dos quatro passos anteriores e uma base fundamental para uma Transformação Digital plena e o que caracteriza o que se chama de Cultura DevOps. 

Conclusão

Estes passos não devem ser negligenciados e devem ser trabalhados em conjunto com processos e cultura, afinal de contas Transformação Digital tem relação direta com excelência técnica e tecnológica.

Caso você tenha interesse em se aprofundar nos assuntos abordados neste artigo, recomendo a leitura dos livros:

plugins premium WordPress