No mercado de Tecnologia, integrar as equipes de Desenvolvimento e Operação gera valor ao negócio

Atualmente, empresas que pretendem aproveitar oportunidades de negócios devem saber que precisam adaptar e melhorar continuamente seus processos e sistemas. Com o mercado de serviços e produtos cada vez mais dinâmico e rápido, essas mudanças precisam ser efetuadas em prazos cada vez mais curtos. Nesse cenário de cronogramas curtos e entregas constantes, uma nova cultura começa a se destacar na TI corporativa: o DevOps – união dos termos “development” (desenvolvimento) e “operations” (operações).

É comum ver desenvolvedores focados em criar e lançar novas versões de suas aplicações, buscando agregar valor ao negócio; enquanto na operação a preocupação é de garantir que todos os sistemas estejam funcionando com boa performance, estabilidade contínua e prevendo riscos, ou seja, protegendo o negócio. As metas de ambas equipes são reais e importantes, porém, muitas vezes há falta comunicação e objetividade. A mudança se dá no momento em que há a percepção de que, para atingir o objetivo final de um trabalho – a satisfação total do cliente – é necessário que as equipes trabalhem em conjunto, comunicando-se e compartilhando informações, gerando assim uma redução considerável do tempo entre a demanda inicial e a entrega do produto. Dessa forma é possível dizer que os DevOps são uma cultura, não uma ferramenta que se pode ser comprada e instalada em uma organização, e para que ela possa ter o impacto desejado é necessário que as equipes envolvidas passem por uma mudança de atitude, tornando-se mais colaborativas e menos competitivas, tratando os problemas e desafios como algo em que todos devem assumir responsabilidades e trabalhar para resolver.

Após essa cultura estar entendida por todos e ser posta em prática, é importante automatizar processos manuais que ocorrem dentro da estrutura, afinal, otimizar o tempo também é recomendado quando queremos fazer a melhor entrega para nosso cliente. A automatização reduz sensivelmente a chance de erro humano, criando rotinas confiáveis e permitindo que pessoas deixem de lado um trabalho repetitivo e braçal, ficando livres para concentrarem-se na qualidade do serviço e pensar em melhorias, gerando engajamento nas equipes. Tarefas como o monitoramento, testes, configuração de sistema, build e deploy são exemplos de processos que podem e devem ser automatizados.

Outro ponto importante para uma abordagem DevOps é a constante avaliação do ambiente. O comportamento da aplicação e de seus usuários devem ser monitorados como contínua fonte de feedback e toda informação pode ser considerada útil, seja ela um log de uma aplicação, métricas de performance do ambiente ou até mesmo opiniões de membros da equipe ou usuários. Esses dados serão transformados em informação que deverá ser utilizada para tomadas de decisão.

O último passo para uma implantação bem-sucedida de DevOps é garantir o compartilhamento de informações entre os membros das equipes. Por se tratar de um ambiente no qual o domínio de diversas áreas é importante, os membros dificilmente vão ter o conhecimento nivelado desde o início. Essa disparidade inicial não deve ser vista como um ponto negativo, mas como um incentivo para a contínua troca de conhecimento e treinamento entre os membros do time.

Na figura abaixo pode ser visto resumidamente o ciclo de vida de um modelo DevOps.

NO-MERCADO-DE-TECNOLOGIA,-INTEGRAR-AS-EQUIPES-DE-DESENVOLVIMENTO...

Ciclo de vida de um modelo DevOps

O ciclo se inicia com a fase de Feedback, em que a equipe de desenvolvimento coleta as informações capturadas pelas ferramentas de monitoramento e as opiniões deixadas pelos usuários durante a utilização do sistema. Na fase de Desenvolvimento dá-se início à geração do código necessário para que as melhorias necessárias identificadas na fase anterior sejam inseridas no sistema. Em seguida temos a fase dos Testes Unitários e de Regressão, executados preferencialmente de forma automatizada para otimizar o tempo da equipe, assegurando que as novidades do sistema não estejam de forma nenhuma inserindo um comportamento não desejado.

Após as novas versões dos sistemas serem testadas e aprovadas inicia-se a fase Deploy (ou “implementação”), quando essa melhoria é disponibilizada a todos os seus usuários. A última etapa do ciclo de vida é o Monitoramento, onde não apenas as novas mudanças, mas todo o sistema é monitorado continuamente, garantindo que esteja otimizado e com a melhor performance possível. Vale lembrar que no DevOps esse ciclo é contínuo: assim que uma nova funcionalidade se fizer necessária ou um novo bug for encontrado, ele voltará à fase inicial de Feedback.

Quebrar um paradigma no qual as grandes entregas são feitas em detrimento da necessidade de melhorias contínuas pode parecer difícil. Todavia, se feito de forma organizada e programada, apresenta ganhos consideráveis para organizações de qualquer porte, sendo o principal deles a habilidade de lidar diariamente com problemas e soluções diversas. Com a cultura do DevOps instaurada a capacidade corporativa de entrega rápida e contínua de softwares garante que as necessidades dos clientes serão atendidas rapidamente e que a competitividade será mantida no cenário de negócios atual, em que entregar tarde demais pode ter o mesmo peso de uma entrega não realizada. A correta implementação da cultura do DevOps tem como retorno um aumento na capacidade de inovar, menos tempo de geração de valor para um produto e uma experiência de usuário diferenciada.

Oliver Drummond é formado em Ciências da Computação e possui cursos de extensão em Arquitetura de Aplicações Web (Web Application Architectures) pela University of New Mexico e Programação de Alicativos Movéis para Android (Programming Mobile Applications for Android Handheld Systems) pela University of Maryland College Park.