Desenvolvimento

22 jul, 2013

Como medir devops?

422 visualizações
Publicidade

Se você está tentando convencer a si mesmo (ou ao seu gerente ou time) de que seu programa de operações precisa ser modificado para melhor e que tentar uma abordagem devops faz sentido – ou que a organização de suas operações está melhorando e que qualquer que tenha sido a mudança feita por você, ela realmente fez a diferença –, você está precisando mensurar alguma(s) coisa(s). Mas o quê?

Medir a cultura

John Clapham, da Nokia, sugere que você deve tentar medir se a sua cultura de operações é saudável.  Na Devops Days Conference que ocorreu este ano em Londres, ele falou sobre formas de medir e monitorar a cultura – comportamento, atitudes e valores – para determinar quando as pessoas estão focadas “nas coisas certas” e estimar a satisfação e a motivação de um time. A Nokia já iniciou um programa de Devops e quer ver se o momento para mudanças e melhorias ainda existia depois que o empurrão inicial e o evangelismo passaram. Eles elaboraram um conjunto de sinais vitais que perceberam que capturaria importantes atitudes e comportamentos.

  1. Ciclo de tempo – tempo do desenvolvimento ao deployment em produção. Estamos indo mais rápido ou rápido o suficiente?
  2. Propósito comum – as pessoas compartilham/acreditam nos mesmos objetivos e creem na forma como o desenvolvimento e o time de operações trabalham juntos?
  3. Motivação – todos acham importante o que estão fazendo?
  4. Colaboração – as pessoas estão trabalhando juntas de bom grado?
  5. Efetividade – o tempo de todos está sendo gasto de uma maneira útil? Quanto tempo está sendo desperdiçado?

O ciclo de tempo é a única métrica que é relativamente fácil de medir e relatar. O resto é muito subjetivo e vago. A Nokia tentou conseguir essas informações através de um questionário que fazia perguntas deste tipo: Você acredita que há oportunidades para melhorar as formas de se trabalhar? Quanto tempo você gasta em estabilização, overhead, melhorias e inovação? O que está no seu caminho? Falta de tempo, pressão para focar em recursos, ferramentas ruins, falta de apoio do gerenciamento, nada…?

Sinais vitais do time de operações que você pode e deve medir

A pergunta final de Clapham foi: “Quais são os sinais vitais pelos quais você procuraria?”

Não estou convencido de que é possível medir a efetividade da cultura de uma organização, ou de que isso seria útil caso fosse possível. Você não pode dizer se as mudanças estão fazendo a diferença na efetividade da empresa e se você está no caminho certo através de um questionário insosso; nem ajudá-lo a entender o que você precisa para mudar e que impactos a mudança teria. Para isso, seria necessário medidas concretas e baseadas em resultados que apontariam os pontos fortes e fracos, dos quais você poderia fazer uso para a realização de mudanças e para justificar a sua opinião, caso fosse necessário.

O Puppet Labs e o IT Revolution Press publicaram o “State of Devops Report”, que está cheio de dados interessantes. O relatório enfatiza a importância de medir e compreender como a sua instituição está se saindo e por que um programa de devops é, ou poderia, valer a pena. Eles fornecem uma lista de métricas objetivas, dividas em dois tipos principais.

Métricas de agilidade e confiabilidade:

  1. Frequência e velocidade de deployment
  2. Tempo de aprovação – quanto tempo uma mudança leva para ser aprovada e colocada em produção
  3. Taxa de erro (a brilhante apresentação de John Alspaw, “Ops Meta-Metrics”, explica a importância de correlacionar frequência/tamanho/tipo e erros – por tipo e severidade – na produção)
  4. Tempo para se recuperar (e para detectar) de um problema

Métricas funcionais:

  1. Tempo do ciclo de testes – quanto tempo se leva para testar uma mudança?
  2. Tempo de deployment – quanto tempo se leva para que uma mudança esteja funcionando, uma vez testada e aprovada?
  3. Taxa de defeito em produção
  4. Contagem de tickets do suporte – quanto tempo você está perdendo apagando incêndio?

Há duas métricas importantes que estão faltando nessas listas:

  1. Custos do time de operações
  2. Retenção dos funcionários – uma métrica-chave para saber se as pessoas estão felizes.

Medir o sucesso de um programa de devops é simples:

  • Se você não estiver economizando dinheiro.
  • Se você não estiver realizando mudanças mais fácil e rapidamente.
  • Se você não estiver melhorando a qualidade e a confiabilidade da habilidade de sua empresa de responder aos problemas.
  • Se não estiver conseguindo segurar as pessoas boas.

…então, o que quer que seja que você esteja fazendo não está funcionando ou não está sendo feito direito. Não importa que você esteja “fazendo devops”, usando certas ferramentas, que as pessoas pareçam estar mais colaborativas ou acreditem que tenham um maior objetivo comum. O que importa são os resultados. Certifique-se de que você está medindo as coisas certas de forma a ter certeza de que está no caminho correto.

***

Artigo traduzido pela Redação iMasters, com autorização do autor. Publicado originalmente em http://swreflections.blogspot.com.br/2013/04/how-do-you-measure-devops.html