DevOps: processo, cultura e carreira

Há bons anos que a buzzword DevOps está sempre estampada nas conversas, posts, eventos e comunidades de desenvolvimento de software. Apesar de toda essa hype, existem divergências quanto ao seu significado.

O Opensanca realizou um Open Panel sobre DevOps na Serasa Experian, no qual debatemos sobre o tema. Como comunidade, queremos divulgar e nos aprofundar na questão fugindo do senso comum e da hipsterização do desenvolvimento de software (afinal nada mais hipster que ser DevOps).

A discussão neste Open Panel foi tão boa, que escrevo aqui com o objetivo expandir essa discussão (nas dimensões tempo e espaço, mesmo que virtuais) e expor algumas das conclusões que tivemos nesse encontro.

O que é DevOps?

Diversos significados são associados à palavra DevOps e estes significados variam muito de acordo com o contexto onde a palavra é empregada. O primeiro significado é quando a palavra assume o caráter de cargo — o tal "Analista DevOps". O segundo é quando assume o caráter de processo, ligado às ferramentas e metodologias. Por último, e não menos importante, é quando DevOps assume o significado de cultura.

Carreira: Analista DevOps

De forma muito usual, encontramos no LinkedIn, fóruns e sites especializados em vagas de TI oportunidades intituladas como Analista DevOps. Este tipo de carreira busca por profissionais ambientados com ferramentas de automação, monitoria e orquestração de infra-estrutura e operações. É uma roupagem nova para o SysAdmin, tentando apenas enquadrá-los em novos nomes mais atrativos.

Essa abordagem é simplista demais. Contratar pessoas para trabalhar nos velhos processos, ou mudar o nome de um departamento não vai melhorar a forma com que todo o ecossistema de uma empresa funciona.

DevOps não é uma posição de trabalho, pois o processo precisa estar adaptado para que seja possível trabalhar como DevOps. Isso nos leva a acreditar que talvez o processo DevOps seja a solução para todos os nossos problemas.

Processo: DevOps para entregas rápidas

Implantando um pipeline de Continuous Delivery, rodando na minha plataforma de Cloud, com um time de Infra mesclado com um time de Dev e adotando as ferramentas e plataformas mais descoladas do momento (Docker, Kubernetes, Terraform, Ansible, [sua ferramenta predileta aqui], …) não tem como dar errado. Certo?

ERRADO.

Pense de novo. Se ainda não tiver visto o problema, dê um passo pra trás: O processo é apenas uma forma de atingir os resultados desejados. O resultado depende muito mais das pessoas e das interações entre elas do que um processo bonito, cheio de nomes maneiros.

Um processos cheio de ferramentas legais é só uma forma de ofuscar a geração de problemas. Para nos tornar DevOps, precisamos de uma Cultura que suporte sermos DevOps.

Cultura: DevOps e o Manifesto Ágil

O Manifesto Ágil é baseado em quatro proposições bem simples:

  1. Indivíduos e interações são mais valiosos do que processos e ferramentas
  2. Software em funcionamento é mais valioso do que documentação abrangente
  3. Colaboração com o cliente é mais valioso que negociação de contratos
  4. Responder a mudanças é mais valioso do que seguir um plano

De maneira ampla , a cultura DevOps é uma forma de adotar o pensamento Agile em áreas de Operações de Infra-estrutura. Antes de pensar nas ferramentas, processos, documentação, contratos e planos, devemos pensar em como as pessoas vão interagir, como garantir o funcionamento dos sistemas e, principalmente como responder às mudanças.

O que realmente é DevOps?

DevOps é cultura, é empatia por um modelo ágil de operações. Para implantar a cultura DevOps é necessário rever o modelo cultural da empresa, questionar seus valores, visando a atingir os princípios ágeis em todas as etapas do ciclo de vida do software, principalmente nas áreas de Operação, Sustentação e Infra-estrutura.

Gostou do tema? Tem algo a mais para enriquecer essa discussão? Comenta aqui ou entra no slack do Opensanca.