Microsserviços e aceleração na transformação digital

-

Microsserviços – como eles mudam uma empresa

Adaptabilidade – a capacidade de mudar com rapidez e facilidade – tornou-se o principal objetivo das empresas modernas e pressionou as equipes de tecnologia a criar plataformas que sejam mais fáceis e menos caras de mudar.

Trabalhando nesses ambientes, essas equipes têm sido cada vez mais atraídas pelo estilo de usar microsserviços na arquitetura de software. O que os atrai é a promessa de um método para acelerar mudanças no software, sem introduzir perigos desnecessários para o negócio.

Adaptabilidade – a capacidade de mudar com rapidez e facilidade – tornou-se o principal objetivo das empresas modernas e pressionou as equipes de tecnologia a criar plataformas que sejam mais fáceis e menos caras de mudar.

Trabalhando nesses ambientes, essas equipes têm sido cada vez mais atraídas pelo estilo de usar microsserviços na arquitetura de software. O que os atrai é a promessa de um método para acelerar mudanças no software, sem introduzir perigos desnecessários para o negócio.

No desenho organizacional, o objetivo é descentralizar a autoridade de decisão. Em vez de ter algumas pessoas tomando as decisões de arquitetura e design de software para todos na organização, a descentralização permitiria que eles distribuíssem o poder de tomada de decisão entre as pessoas que fazem o trabalho.

Empurrar a autoridade de tomada de decisão diretamente para os trabalhadores permite que eles produzam com mais liberdade e autonomia. Nas circunstâncias certas, isso levará a mudanças melhores e mais rápidas. No entanto, se a sua organização estiver errada, uma série de decisões erradas pode desacelerar a taxa de câmbio – ou pior, acabar prejudicando o seu negócio.

É muito importante não esquecermos de começar a trabalhar a sinergia entre as equipas com uma compreensão das suas competências naturais, motoristas e sobretudo, valorizando as soft skills.

O truque é descentralizar apenas as coisas que ajudam você a acelerar, sem sacrificar a segurança do seu sistema. Obviamente que não, mas não é ruim reforçar a mensagem de que a segurança nunca deve ser sacrificada.

Encontrar a estratégia de descentralização certa é um processo evolutivo que requer que as organizações se ajustem, analisem e se adaptem.

Para ajudá-lo a começar na direção certa, aqui estão as três principais questões a serem consideradas:

Que decisões devemos tomar?

Nosso objetivo em tudo isso é aumentar a variabilidade de sua plataforma. Portanto, você deve começar encontrando os gargalos que impedem que as mudanças aconteçam. Observe como os recursos e as mudanças passam da ideia à implementação e descubra as partes do processo em que as pessoas que precisam fazer o trabalho não conseguem porque estão esperando que outra pessoa tome uma decisão.

A descentralização não é uma solução mágica para desbloquear gargalos. No entanto, em uma organização que se inclina para a tomada de decisão centralizada, a descentralização provavelmente ajudará. Por outro lado, se você não consegue encontrar muitas situações em que os funcionários ficam presos devido a processos de decisão centralizados, a descentralização não deve ser sua maior preocupação.

Fazer o trabalho no sistema de microsserviços requer mais do que apenas fazer um brainstorming sobre o tamanho dos componentes. Todas as áreas de sua organização que envolvem a criação e mudança de serviços têm uma função a cumprir. Aqui está uma lista não exaustiva dos tipos de decisões que podem ser candidatas à descentralização em um mundo de microsserviços:

  • Ciclo de vida do serviço – Quando os serviços são criados ou aposentados? Como se chamam? Quando temos que separá-los?
  • Implementação de serviço – Quais ferramentas, linguagens e arquiteturas devemos usar em cada serviço?
  • Arquitetura do sistema – como os serviços falam para ensinar os outros? Como os desenvolvedores aprendem sobre eles?
  • Arquitetura de dados – como os dados são compartilhados entre os serviços?
  • Processo de mudança – Quando os serviços podem ser alterados? Quais são as ferramentas e processos para implementação e controle de qualidade?
  • Gerenciamento de equipe – quem atua em qual equipe? Qual é a responsabilidade de cada equipe? O que os membros da equipe fazem?
  • Gestão de pessoas – Como as pessoas são contratadas e demitidas? Como você incentiva e recompensa os funcionários? Qual é a política de férias?
  • Gerenciamento de segurança – como podemos reduzir o risco de incidentes de segurança? O que precisa ser feito para melhorar a segurança de todo o sistema? Aquisições – Qual software você pode comprar? Quais proteções são necessárias para usar software de código aberto?

Vale a pena analisar como as decisões são tomadas nesses espaços. Como eles influenciam a maneira como o sistema é alterado? Quais processos de decisão eles estão mantendo? Quais impedem as pessoas de serem inovadoras? E, finalmente, em quais casos a liberdade e a autonomia seriam mais benéficas?

A Netflix é um ótimo exemplo de empresa que conseguiu se descentralizar de maneiras inovadoras. Sua política de capacitar os funcionários a decidir quanto tempo de folga eles precisam descentraliza uma decisão que tradicionalmente tem sido rigidamente controlada.

Dar autoridade aos funcionários para designar suas próprias férias pode parecer estranho. Mas a abordagem exata que você precisa adotar se quiser colocar a mutabilidade de sua organização em uma marcha mais alta o livra do trabalho de coordenação redundante e desnecessário e, ao mesmo tempo, evita a introdução de novos riscos. As equipes que buscam o estilo de construção de microsserviços de software precisam pensar sobre esses tipos de otimizações em suas organizações.

Isso não significa que a política de distribuição das decisões de férias deva ser um princípio da arquitetura de microsserviços. A Netflix pode fazer isso porque sua cultura e força de trabalho tornam essa política mais fácil de implementar. Seus funcionários têm confiança para tomar as melhores decisões para todo o sistema, e a empresa é conhecida por ser seletiva nas pessoas que emprega

Nem todas as organizações se parecem com a Netflix e muito poucas operam no nicho da Netflix de entrega de conteúdo de vídeo online. Cada empresa tem seu próprio conjunto exclusivo de limitações e metas. Você terá que descobrir seus objetivos e restrições por si mesmo. Análise, compreensão e experimentação o ajudarão a priorizar seus esforços de descentralização e direcionar seu sistema em direção ao objetivo da adaptabilidade.

Quem são as pessoas envolvidas?

Algumas das decisões que as pessoas tomam podem ter um impacto incrível para o seu negócio. A decisão de mudar a forma como uma transação em conta bancária é implementada seria arriscada para um banco tradicional. A decisão de mudar a experiência do usuário de um aplicativo seria um risco para uma empresa de software com uma grande base de usuários familiarizada com a interface antiga.

As organizações procuram aumentar o controle sobre esses tipos de decisões para que esse risco seja minimizado, o que leva a uma centralização do poder de decisão. Por exemplo, em anos anteriores, a Apple era conhecida por ter um grupo de design altamente centralizado, composto por um número relativamente pequeno de pessoas que tomavam a maioria das decisões de design de seus produtos.

A centralização acontece porque as pessoas certas precisam tomar as decisões que mais importam. Geralmente, as “pessoas certas” são aquelas com a combinação de talento, experiência e expertise que nos permite confiar nelas o suficiente para tomar as melhores decisões. Poderíamos chamar essas pessoas de nossos tomadores de decisão “estrelas”.

Se uma organização fosse apenas cheia de estrelas, todas as suas decisões poderiam ser descentralizadas. Se confiássemos em mais pessoas para tomar as melhores decisões, distribuiríamos mais decisões para mais pessoas.

Na prática, as empresas têm um número limitado de tomadores de decisão estrela. Na realidade, a maioria das equipes tem algumas estrelas combinadas com um número maior de tomadores de decisão que são competentes, mas não têm a experiência ou o talento necessários para tomar decisões perfeitas.

A boa notícia é que você não precisa de uma equipe de estrelas para empregar uma estratégia de descentralização. Você só precisa pensar onde colocar suas equipes e onde posicionar seus melhores tomadores de decisão.

O estilo de microsserviços torna tudo isso mais fácil porque o impacto das decisões pode ser limitado enquanto aumenta a velocidade de implementação de alterações individuais. Se uma equipe toma a decisão errada ao trabalhar em um microsserviço, o raio de explosão do erro deve ser pequeno e contido. Quando as alterações no sistema são baratas e fáceis, a equipe pode melhorar rapidamente as decisões anteriores, permitindo que eles cheguem à melhor decisão com mais rapidez.

Nesse tipo de ambiente, você não está limitado pelo seu poder de estrela – quando o objetivo é chegar à melhor decisão, você só precisa fornecer um sistema que dê aos trabalhadores competentes a liberdade e autonomia para chegar lá.

Quem é o dono de qual parte?

Nenhuma decisão é tomada instantaneamente. Baseia-se em opções, que por sua vez se baseiam no conhecimento do domínio. As decisões nunca devem ser implementadas imediatamente. Às vezes, pode exigir a bênção de alguém, enquanto em outras ocasiões, pode exigir habilidades ou conhecimentos altamente especializados para implementar.

O especialista em gestão Henry Mintzberg nos dá um bom modelo que descreve as etapas de um processo de decisão:

  1. Pesquisa e coleta de informações
  2. Geração de opções
  3. Seleção (faça uma escolha)
  4. Autorização da eleição
  5. Execução e implementação

A chave para tudo isso é que não é necessário ser absoluto ao empregar a descentralização das decisões. Cada uma das etapas de Mintzberg pode ser centralizada ou descentralizada de forma independente, permitindo maior flexibilidade ao equilibrar a velocidade e a segurança das mudanças baseadas em decisões em um sistema.

Considere o caso típico do processo de contratação em uma grande empresa: quando chega a hora de encontrar novas pessoas, é a divisão centralizada de Recursos Humanos que divulga a vaga em aberto e convida as pessoas a se candidatarem ao emprego. A mesma equipe centralizada examina os candidatos e gera uma lista dos melhores daquele grupo. A lista é então entregue ao gerente de contratação real, que seleciona o melhor candidato com base em um escrutínio adicional. A partir daí, o gerente de contratação devolve a bola para a equipe central de RH, que preenche a papelada e completa o processo.

Este modelo de recrutamento centralizado combinado com o recrutamento descentralizado é comum em grandes empresas. Na verdade, a maioria das organizações que incorporaram o estilo de microsserviços o usa de alguma forma.

Por exemplo, uma equipe centralizada da empresa pode identificar os três tipos de banco de dados que todas as equipes de microsserviços devem usar. Fica a critério das equipes fazer a seleção de sua preferência, mas espera-se que façam a escolha no menu fornecido. Caso se desviem da lista aprovada, terão que justificar a sua decisão, proporcionando à equipa centralizada um mecanismo de feedback com o qual possam reavaliar o menu.

A descentralização das partes de seleção, autorização e execução do processo permite que as equipes individuais se movam rapidamente e em escala.

Centralizar os estágios de pesquisa e geração de escolha prejudica a inovação em geral, mas reduz o risco de decisões que afetam negativamente o sistema como um todo. É um padrão popular, pois atinge o tipo certo de engajamento para a maioria das organizações.

A descentralização surge muito quando as pessoas falam sobre organizações de microsserviços porque é uma forma eficaz de aumentar a velocidade da mudança. Mas não se esqueça de que é apenas parte da equação. Quem são seus funcionários, como coordenam suas equipes e todos os sistemas, ferramentas e contextos nos quais trabalham são igualmente importantes.

É essencial que você entenda que pensar sobre como as decisões são tomadas e, mais importante, como o processo pode ser melhorado, é uma ótima maneira de avançar em direção a uma organização favorável à mudança.

Autor: Diego San Esteban

compartilhar artigo

Conteúdo recente

Categorias populares