Explorar a Cultura do DevOps

Concluído

A Cultura é uma base essencial para o DevOps porque requer um crescimento e uma mentalidade de aprendizado contínuo para ter sucesso. O suporte à liderança é um dos elementos críticos para o sucesso.

Antes de discutirmos a aparência da cultura do DevOps, vamos considerar a função da cultura na capacidade de uma organização de adotar o DevOps. De acordo com a Gartner:

A resistência cultural e os níveis baixos de disciplina de processo criarão taxas de falhas significativas para iniciativas de DevOps.

Gene Kim, autor do Phoenix Project and DevOps Handbook, disse:

O DevOps é um percurso cheio de desafios, e raramente esses desafios existem por causa da tecnologia errada ou de processos errados. Na verdade, os obstáculos maiores e mais difíceis tendem a ser culturais. E, se você tiver a cultura errada, mesmo que todo o resto esteja certo, você acabará com frustração, custos extras e uma falha provável.

O que é cultura?

Para nossos fins, a cultura é a herança social de um grupo. É um padrão de respostas descobertas, desenvolvidas ou inventadas durante o histórico de tratamento de problemas do grupo que surgem de interações entre os membros e entre eles e o ambiente em que estão.

A cultura determina:

  • O que é aceitável ou inaceitável.
  • O que é importante ou não importante.
  • O que está certo ou errado.
  • O que é viável ou não.
  • Quem você contrata, demite e promove.

Por que as iniciativas do DevOps falham?

A pesquisa da Gartner mostrou que, até 2023, 90% das iniciativas de DevOps falharão devido às limitações das abordagens de gerenciamento usadas pela liderança.

Importante

A principal responsabilidade da liderança é a criação de um ambiente que permite uma cultura de DevOps bem-sucedida.

As pessoas que trabalham em esforços criativos não precisam "tomar cerveja na sala de intervalo" para serem motivadas. Em vez disso, as pessoas criativas precisam de maestria, autonomia e finalidade.

Quando as pessoas perguntavam qual é a parte mais importante do sucesso da Microsoft: visão, estratégia ou execução, o CEO da Microsoft, Satya Nadella, dizia que todos são importantes, mas, no fim das contas, era a finalidade e mentalidade de crescimento.

Os 12 exemplos de uma mentalidade de DevOps

Estes são os 12 exemplos de uma mentalidade de DevOps: mentalidade de liderança, foco no cliente, pensamento lean, pensamento do sistema, remoção de desperdícios, teoria de restrições, alinhamento e autonomia, teste shift-left, mentalidade de segurança, desenvolvimento controlado por hipóteses, site ativo e resultados de medidas, não mentalidade de atividade.

Mentalidade de liderança

A Gartner faz as seguintes recomendações:

  • Identificar os líderes de transformação priorizando características comportamentais específicas necessárias para liderar uma iniciativa de DevOps, dando menos ênfase ao conjunto de habilidades técnicas.
  • Desenvolver líderes de transformação adotando uma falha como uma oportunidade de aprendizado.
  • Gerenciar líderes de transformação capacitando-os a tomar decisões sem desconfiança e fornecendo metas claras e métricas chave.

Como o DevOps é transformador, os líderes de I&O (Infraestrutura e Operações) precisam identificar candidatos visionários, adaptáveis, motivadores, capacitados e responsáveis.

Mentalidade voltada para o cliente

O que significa ser voltado para o cliente?

  • Ouvir e se comunicar com os nossos clientes
  • Medir o que é importante
  • Adotar o vermelho na produção
  • Criar, medir e aprender
  • Usar a alternância de recursos para uma boa implantação
  • Coletar dados de maneira ampla, mas com cuidado

Mentalidade de pensamento lean

Valor: a mentalidade de pensamento lean começa com um entendimento detalhado do valor que o cliente atribui ao produto e aos serviços. A organização se concentra em eliminar o desperdício para que possa fornecer o valor que o cliente espera no nível mais alto de rentabilidade.

O fluxo de valor abrange o ciclo de vida inteiro do produto, desde as matérias-primas até o uso do cliente e o eventual descarte do produto. Para eliminar o desperdício, o objetivo final da abordagem lean, deve haver um entendimento preciso e completo do fluxo de valor.

Fluxo: compreender o fluxo é essencial para acabar com o desperdício. Se o fluxo de valor parar de avançar a qualquer momento, o desperdício será o subproduto inevitável. O princípio de fabricação lean de fluxo se trata de criar uma cadeia de valor sem interrupção no processo de produção e onde cada atividade é uma etapa junto com as outras.

Pull: o princípio lean de pull ajuda a garantir o fluxo, certificando-se de que nada seja feito antes do tempo, o que cria um inventário de trabalho em processo e interrompe o fluxo sincronizado. Em vez de usar a abordagem tradicional de fabricação americana de mandar trabalho com base em uma previsão e uma agenda, a abordagem de pull determina que nada seja feito até que o cliente solicite.

Perfeição: os profissionais lean se esforçam para alcançar a perfeição. A marcha para obter o processo perfeito ocorre conforme os aprimoramentos contínuos resolvem as causas raiz de problemas de qualidade e desperdício de produção. A busca da perfeição contínua é o que impulsiona os usuários da abordagem a se aprofundar, medir mais e fazer mudanças com mais frequência do que os concorrentes.

Mentalidade de pensamento sistêmico

Uma mentalidade sistêmica enfatiza o desempenho de todo o sistema, não o desempenho de um silo de trabalho ou departamento específico.

Concentre-se em todos os fluxos de valor empresarial que são habilitados pela TI. Em outras palavras, ele começa quando os requisitos são identificados pela empresa ou pela TI, incorporados no Desenvolvido e movidos para as Operações de TI, em que o valor é fornecido para o cliente como um serviço.

Acabar com a mentalidade de desperdício

Uma mentalidade lean se concentra em identificar e remover os sete desperdícios fatais que não têm valor para o cliente:

  • Trabalho parcialmente concluído
  • Processo extra
  • Recursos adicionais
  • Alternância de tarefas
  • Aguardando
  • Movimento
  • Defeitos

Pensar na teoria das restrições

A teoria das restrições é uma metodologia para identificar e remover restrições (também chamadas de gargalos) que limitam a produtividade. Na prática, comece identificando o fator mais importante que impede a conquista de uma meta. Trabalhe para minimizar esse fator até que ele não seja mais uma limitação.

Diagram depicts the Theory of constraints: identify the constraint, exploit it, subordinate & synchronize to it, elevate the performance of the constraint, repeat the process

Equilibrar as mentalidades de alinhamento e autonomia

É necessário atingir um equilíbrio entre alinhamento e autonomia. Muito alinhamento leva a menos inovação, menos motivação e menos colaboração. Muita autonomia leva a mais caos, confusão e conflito, além de diminuir a consistência.

Diagram explains aligned autonomy: if you get the organization, roles, teams, cadence, and architecture in alignment, then the plans and practices can function autonomously.

Mentalidade do teste shift-left

O teste shift-left é uma abordagem usada para acelerar os testes de software e facilitar o desenvolvimento movendo o processo de teste para um ponto anterior no ciclo de desenvolvimento. O shift-left é uma referência para mover o teste à esquerda em uma linha do tempo. Ele ajuda a criar qualidade e a identificar problemas mais cedo para reduzir o desperdício de retrabalho.

O teste shift-left foi projetado para ser um modelo melhor para o desenvolvimento de via rápida, pois os modelos de teste tradicionais que esperam até mais tarde no ciclo de desenvolvimento podem criar gargalos no desenvolvimento.

Mentalidade de segurança

Para obter uma mentalidade de segurança, as equipes precisam:

  • Promover a conscientização.
  • Definir os princípios delas.
  • Seguir os princípios delas.

Mentalidade de desenvolvimento controlada por hipótese

Usar uma abordagem de produto lean para ser desenvolvida em ciclos menores e usar o desenvolvimento controlado por hipótese ajuda a criar pequenos experimentos para receber comentários dos nossos clientes e de decisões controladas por dados.

A abordagem de desenvolvimento controlada por hipótese:

  • Começa com uma suposição – algo aceito como verdadeiro sem prova
  • Articula a suposição a ser testada
  • Executa a experimentação e o teste
  • Examina a evidência, um indicador do resultado

Mentalidade de site ativo

Para uma equipe de DevOps, não há lugar como a produção. Tudo o que ela faz tem relação com o aprimoramento da experiência dos clientes.

Para criar um site estável e de alto desempenho, aplique melhores práticas de Operações contínuas de maneira disciplinada e contínua para manter o site íntegro.

Entre os principais fatores da nossa cultura de site ativo estão:

  • Detectar antes que os clientes sintam o problema
  • Usar os dados para impulsionar
  • A causa raiz é a chave
  • Configurar como código
  • Automatizar para sobreviver
  • Estar aberto e aprender

Medir o resultado, não a mentalidade de atividade

A maneira como você mede as pessoas vai liderar a maneira como as pessoas se comportam. Você deve medir o uso, a velocidade e a integridade do site ativo, e não linhas de código, o burndown da equipe e número de bugs encontrados.

Dica

Tenha cuidado com sua medição para levar a um resultado ideal!