O nome explica a própria natureza prática desta diretriz na criação de softwares e aplicações: DevOps une a engenharia (desenvolvimento) e as equipes de operações em um único fluxo de trabalho. Este artigo traz à luz os princípios – e como adotá-los – de uma tendência que se consolidou como a forma ágil e altamente eficiente de gerir e entregar um projeto digital de sucesso, em uma época de intenso dinamismo que exige ritmo acelerado de inovação.
DevOps nasceu oficialmente em 2008 e, conforme definição de pesquisadores do Software Engineering Institute nos Estados Unidos, constitui-se de “um conjunto de práticas destinadas a reduzir o tempo” da implementação de uma mudança ou atualização de um sistema, ou da criação de um novo sistema. Representa uma quebra de paradigmas, hierarquias e procedimentos herméticos no segmento de TI para atender uma demanda de mercado por agilidade e qualidade.
Desta forma, deixa de lado protocolos tradicionais, coloca o conhecimento prático como um dos fundamentos na jornada de criação e descentraliza todo o processo.
Ousamos chamar DevOps de cultura de trabalho. Porque a maior mudança está na interação entre os profissionais, equipes e fornecedores de TI envolvidos no projeto, e não exatamente na técnica para se atingir o êxito. O objetivo é encurtar os caminhos, colocar a solução para rodar e aperfeiçoá-la a partir da própria experiência de uso.
Comunicação descentralizada
Esqueça aquela imagem de um departamento de TI isolado como um mundo à parte dentro da organização, que recebe as demandas e muitas vezes age de maneira reativa sem compreender as dores do usuário final.
Em DevOps, as equipes e fornecedores envolvidos em um projeto trabalham juntos e simultaneamente com tarefas distribuídas por um objetivo em comum e todos obtêm informações sobre cada etapa, em um fluxo de comunicação primordial para que a metodologia funcione.
Por este método, as responsabilidades são divididas entre as equipes, que trabalham ao mesmo tempo para agilizar a entrega com eficiência. Mas por eficiência entende-se implantação rápida, flexibilidade, comunicação transparente e constante entre os times e o cliente, feedbacks assertivos sobre a operação do software e resposta imediata às lacunas do projeto. Numa visão macro, esses são requisitos para a transformação digital necessária às organizações.
Feedbacks e atualizações
O conhecimento empírico, portanto, é o que norteia os projetos em DevOps. O produto final não será perfeito e imutável. Ele é fruto da técnica aliada ao que se passa a conhecer do software no decorrer do processo de desenvolvimento, testes e implantação. O ciclo, representado pela imagem abaixo, gira rapidamente entre os desenvolvedores, o controle de qualidade, as operações e o usuário final de forma que os profissionais utilizadores descobrem novas capacidades e possibilidades de uso do software.
As falhas são identificadas durante e após os testes. Nesta etapa, mais uma vez a comunicação se torna fundamental e deve ser clara de ponta a ponta.
Por que aplicar o DevOps?
Se ao ler os parágrafos acima você conseguiu identificar os ‘gargalos’ da sua equipe na entrega de um projeto de tecnologia, então vale a pena tentar apostar na aplicação do conceito, ou contar com parceiros que tenham essa expertise, como a TQI. Na prática, o foco será:
1. Criar sinergia
As equipes devem ter claro o objetivo e os ganhos que o novo produto vai trazer, construir o fluxo de trabalho e endereçar juntas, desde o início, as demandas para o desenvolvimento do projeto. Reuniões periódicas e uma comunicação transparente são fundamentais e todos devem compreender os desafios que surgem no meio do caminho.
2. Usar erros para enriquecer o processo
Considere que as falhas pertencem ao processo de desenvolvimento através do DevOps e elas são de toda a equipe. Se todos estão envolvidos em torno da meta, não existe um profissional ou setor culpado. A sequência ‘tentativa e erro’ faz parte da criação e os feedbacks dos times e dos usuários finais são essenciais para isso.
3. Criar pilotos
O programa entrará em operação para uma parte da equipe em período de teste e a ideia é obter feedbacks construtivos dos usuários. A partir daí, melhorias pontuais passam a ser feitas e novos grupos de profissionais passam a utilizar a tecnologia experimental e gradativamente.
4. Utilizar ferramentas adequadas de gestão
Há métodos ágeis que auxiliam a gestão de projetos e envolvem toda a equipe em etapas e prazos bem definidos, como o Scrum e o Kanban, criados como alternativas à inflexibilidade da metodologia tradicional Waterfall.
5. Implementar a automação
Só é possível responder com agilidade às demandas do projeto e aos feedbacks do usuário nas fases piloto, bem como manter uma entrega contínua, em um ambiente automatizado. Se os objetivos de um projeto pela cultura DevOps são agilidade e qualidade, é preciso responder com rapidez. Para isso, a automação dos processos vai garantir um monitoramento eficiente do uso de recursos, da produtividade, das falhas, da performance de infraestrutura em que todo o projeto está rodando, da segurança dos dados, entre outros fatores. A informação permite a identificação de erros e os ajustes rapidamente.
A partir deste roteiro, o DevOps coloca o processo, em vez do resultado final, no foco principal do trabalho. Assim, as chances de que as equipes construam, juntas e engajadas, uma solução dinâmica, resiliente, repetidamente testada e facilmente adaptável são infinitamente maiores do que numa metodologia tradicional e estática no desenvolvimento de projetos.