em
Padrões de interação para times de plataforma
Em nossa pesquisa, dizemos que as equipes de plataforma e as equipes de desenvolvimento são organizadas de acordo com a estrutura organizacional dos departamentos mediados por API. Aqui, estrutura organizacional define a divisão do trabalho e os modos de interação entre esses dois grupos - a equipe de plataforma (ou seja, a equipe de infraestrutura) e os desenvolvedores. Neste post, vamos nos concentrar na questão das interações.
A estrutura de departamentos mediados por API é muito mais sobre o “mediados” do que sobre o “API”. Isso significa que, para tarefas diárias, os desenvolvedores não devem pedir diretamente ou via ticket às pessoas de infraestrutura para fornecer coisas. Os desenvolvedores devem utilizar a infraestrutura de forma autônoma, ou seja, utilizando a plataforma automatizada. Essa propriedade é o que torna os departamentos mediados por API tão poderosos: dessa forma, o time de infraestrutura deixa de ser um gargalo no caminho de entrega e, assim, o desempenho da entrega aumenta.
No entanto, há momentos em que essas equipes devem interagir diretamente. Vamos agora apresentar esses padrões de interação.
Resolvendo incidentes conjuntamente: quando surgem problemas difíceis de resolver, as equipes trabalham juntas para contornar a situação. No entanto, o problema é tratado inicialmente apenas pela equipe de desenvolvimento, que convoca as pessoas do time de plataforma apenas se necessário.
Consultoria para desenvolvedores: a plataforma é um produto interno e, como um produto, vem com suporte. Portanto, a equipe de infraestrutura passa algum tempo ensinando as melhores práticas da plataforma aos desenvolvedores. Documentação e e-mails são abordagens para aliviar tutorias individuais.
Demandando novos recursos: os desenvolvedores em algum momento demandarão novos recursos da plataforma (por exemplo, monitoramento pronto para uso), assim como geralmente os clientes exigem a evolução de qualquer produto de software. A equipe da plataforma também pode ser proativa e sondar as maiores necessidades dos desenvolvedores por meio de pesquisas. De uma forma ou de outra, a equipe de infraestrutura faz a curadoria do backlog da plataforma.
Conflitos: claro, sempre existirão conflitos entre grupos que interagem. Mas esse conflito é diferente dos conflitos tradicionais em uma estrutura em silos. Sem a mediação da API, os conflitos geralmente surgem após uma tragédia, com foco na busca por culpados. Em um cenário mais colaborativo, com espírito DevOps, também surgem conflitos em relação à divisão do trabalho: não fica claro quem faz o quê. Por fim, em uma estrutura mediada por API, esperamos que os conflitos precedam os problemas em produção, pois serão mais em torno de questões de priorização para o aprimoramento da plataforma. São, portanto, conflitos de cliente versus fornecedor, que acontecem para qualquer produto de software.