DevOps na direção certa para a empresa

Por Março 15, 2018

Impulsionar o DevOps em toda a organização resume-se a quatro princípios simples

Se você é homem e precisar ir ao banheiro do aeroporto Schipol, em Amsterdã, encontrará algo inusitado. Dentro dos mictórios do lado esquerdo do dreno, está gravada a imagem de uma mosca. Aparentemente, se você apresentar um alvo aos homens, durante suas visitas ao toalete, eles tentarão acertá-lo.

O resultado dessa ideia simples? Uma redução de 80% de respingos atrapalhados, o que se traduz em economia nos gastos de manutenção, além de uma experiência mais divertida para os passageiros.

A “mosca no mictório” é um exemplo do que frequentemente chamamos de “empurrão”: intervenções que tentam mover as pessoas em determinada direção para melhorar suas vidas (ou, no caso do aeroporto de Schipol, evitar respingos indesejados). Como sugere o best-seller “Nudge: Improving Decisions about Health, Wealth, and Happiness” (“Empurrão: como tomar melhores decisões sobre saúde, dinheiro e felicidade”, em tradução livre), esses empurrões mudam o comportamento das pessoas de formas previsíveis, sem impedir escolhas ou alterar excessivamente seus incentivos econômicos.

Pensando na mosca do banheiro, o que esse delírio comportamental tem a ver com o DevOps? Provavelmente, mais do que você imagina.

“Usar conhecimentos da ciência comportamental para incentivar as equipes de TI a fazer melhores escolhas para si, seus colegas e a empresa não é algo tão louco quanto parece.”

— Peter Waterhouse, estrategista sênior, CA Technologies

Preparar, Apontar, Fogo!

Na pressa de lançar um software, faz parte da natureza humana errar o alvo, apressando-se durante a etapa de desenvolvimento e depois sobrecarregando as equipes de operações e suporte. Evidentemente, isso não é intencional, mas fazer a coisa certa pensando nas implicações para o programa como todo e, levando em consideração todas as equipes envolvidas, vale mais a pena do que a entrega rápida de um projeto.

Além disso, dar poder de decisão e autonomia às equipes as encoraja a fazer suas próprias escolhas para acelerar a entrega. Tudo funciona até certo ponto, mas o que acontece quando a organização termina com vários bancos de dados, linguagens de programação, tecnologias de contêiner, métodos de comunicação e ferramentas de configuração, implementação e monitoramento?

Isso provavelmente não é um problema nas fases iniciais de um projeto, mas quem paga o pato quando as prioridades mudam e as pessoas passam para outros projetos? A pobre equipe de TI “servente” acaba limpando todos os “legados” e tentando descobrir, em meio a toda à complexidade gerada, de onde vem o “mau cheiro” (paralisações e problemas de desempenho).

Aprendendo com o Reino Unido

Não importa quanta autonomia as equipes tenham, elas nem sempre se preocupam com a capacidade de suporte e otimização do desempenho do aplicativo. Em vez de esperar o melhor, e se preparar para o pior, aplicar conhecimentos comportamentais e a teoria do empurrão pode ajudar a persuadir qualquer equipe de desenvolvimento rebelde a fazer o que é melhor para a empresa.

Felizmente, isso não requer gravar imagens de moscas no seu código, mas sim aplicar uma estrutura desenvolvida pela organização britânica Behavioral Insights Team (apropriadamente conhecida como “Unidade de Empurrão”) para influenciar comportamentos.

De acordo com a Unidade de Empurrão, se você deseja estimular um comportamento, ele deve ser fácil, atraente, social e oportuno (do inglês “Easy, Attractive, Social and Timely”, abreviado como “EAST”). Embora o trabalho da unidade utilize conhecimentos comportamentais para moldar a prestação de serviços e a política do governo, esses quatro princípios podem ser aplicados em um contexto de DevOps.

1. Fácil

O esforço necessário para monitorar o desempenho de aplicativos geralmente desanima os desenvolvedores. Muitas vezes, eles precisam alternar ferramentas constantemente, o que resulta em atrasos de compilação e entrega. Para resolver isso, cada equipe pode acabar recorrendo a suas próprias ferramentas, que não são transferíveis ou, ainda pior, negligenciam o desempenho.

“Empurrar” os desenvolvedores para fazer a coisa certa quando se trata de desempenho e capacidade de suporte requer facilidade. Isso significa disponibilizar informações de desempenho, forma imediata e no contexto de seu trabalho diário. Assim, se os desenvolvedores quiserem entender o impacto de seu código no desempenho de uma compilação, as informações devem ser apresentadas no momento em que eles trabalham nessa compilação, juntamente com detalhes sobre quais alterações de aplicativos e infraestrutura estão causando os problemas de desempenho.

2. Atraente

De acordo com a Unidade de Empurrão, estamos mais propensos a fazer algo que atrai nossa atenção, incluindo imagens, cores e personalização. Isso vale para os desenvolvedores, mas é muito difícil de alcançar com as ferramentas tradicionais de monitoramento de desempenho – principalmente aquelas que os sufocam com infinitos alertas por e-mail, falsos positivos e informações irrelevantes.

Um empurrão na direção do desempenho dos aplicativos implica atrair a atenção dos desenvolvedores para tudo que afeta a experiência do cliente (negativa e positivamente). Isso não acontecerá com alertas acionados por regras ou consoles com longas barras de rolagem, mas sim com novas abordagens de análise capazes de prever problemas e apresentar soluções no contexto dos resultados comerciais desejados.

3. Social

Como a Unidade de Empurrão observa, fazemos partes de redes, e aqueles com quem interagimos podem moldar nossas ações positivamente. Isso se aplica à TI, mas frequentemente as equipes operam isoladas e raramente interagem de forma colaborativa para gerar melhorias sistemáticas.

Assim como os governos, os líderes de TI podem promover redes para incentivar comportamentos altamente colaborativos que se espalham por toda a organização. No que diz respeito às pessoas, isso pode ser tão simples como “standup meetings” (reuniões em pé) e retrospectivas realizadas entre administradores de sistemas, mas ferramentas também podem ajudar. Por exemplo, oferecer um único aplicativo de colaboração que integra todos os fluxos de trabalho das equipes e revela problemas de desempenho críticos para que as equipes multifuncionais tenham um lugar para reagir, tomar decisões e resolver problemas – coletivamente.

4. Oportuno

O “timing” importa para os desenvolvedores. As informações de desempenho apresentadas nos sistemas de produção são importantes, mas têm menos impacto do que informações entregues no contexto do diário de um desenvolvedor. Portanto, para estimular comportamentos mais positivos, o monitoramento deve ser ágil, oferecendo ao desenvolvedor orientações antecipadas sobre o impacto no desempenho – no seu mundo, no seu código e do seu jeito. Faça isso de forma consistente e você observará a mentalidade comportamental mudar da prevenção de problemas para a criação e o compartilhamento de melhorias na arquitetura e no projeto.

Usar conhecimentos da ciência comportamental para incentivar as equipes de TI a fazer melhores escolhas para si, seus colegas e a empresa não é algo tão louco quanto parece. Como o empurrão das moscas, a aplicação deliberada das ferramentas certas pode ajudar as equipes a apontar coletivamente na direção do alto desempenho da TI.

Isso ajuda a empresa a evitar problemas no futuro.

Para saber mais, clique aqui.

Escrito por Peter Waterhouse
Marketing Director at CA
LinkedIn: @peterwaterhouse