Adotar práticas de engenharia de plataforma significa fazer a transição do uso informal e inconsistente de plataformas e funcionalidades compartilhadas para abordagens mais coordenadas, padronizadas e participativas em toda a organização. Este artigo descreve os estágios de adoção, com foco em como as organizações podem descobrir, escolher e usar efetivamente serviços, ferramentas e tecnologias para criar um ambiente de engenharia de plataforma coeso e eficiente.
As áreas de foco incluem descobrir, escolher e usar serviços, ferramentas e tecnologias.
A adoção de plataformas e funcionalidades compartilhadas é esporádica e inconsistente. Não existe nenhuma estratégia ou diretriz em toda a organização para escolher e integrar serviços e tecnologias de backup necessários. Equipes individuais podem aplicar práticas de plataforma para melhorar seus próprios processos, mas não há nenhum esforço coordenado ou padronização em toda a organização. Esse nível de adoção não tem uma abordagem coerente. As organizações com essa abordagem acreditam que as ferramentas externas são mais eficazes do que as fornecidas internamente.
Descobrir serviços, ferramentas e tecnologias: ferramentas e funcionalidades são descobertas informalmente, muitas vezes por meio de encontros de boca a boca ou chance.
Escolha serviços, ferramentas e tecnologias: as equipes de engenharia escolhem e integram de forma independente serviços e tecnologias com base em suas necessidades específicas.
Use serviços, ferramentas e tecnologias: as equipes de engenharia mantêm seus próprios scripts, ferramentas e processos únicos para o seu contexto e necessidades específicos.
Obrigatório
A organização reconhece o valor das plataformas e funcionalidades compartilhadas e se esforça para incentivá-las e alimentá-las. As diretivas internas incentivam ou até exigem o uso de serviços de plataforma compartilhada para alguns casos de uso. Algumas equipes de produtos usam recursos de plataforma mais do que outras; as funcionalidades abrangem casos de uso típicos na organização, mas não os incomuns. É difícil adicionar essas exceções à plataforma comum.
A descoberta de recursos do usuário e como usá-los é inconsistente; É possível que um usuário em uma equipe de produtos não descubra um recurso com suporte, a menos que seja direcionado para lá por uma equipe de plataforma.
Descobrir serviços, ferramentas e tecnologias: as equipes de engenharia devem procurar diretrizes de equipe de plataforma para usar ferramentas e recursos específicos. Essas diretrizes podem se manifestar na documentação interna ou em diretivas de toda a organização.
Escolha serviços, ferramentas e tecnologias: as equipes de engenharia podem contar com discussões informais com a equipe de plataforma para escolher e integrar serviços e tecnologias obrigatórios. As equipes de engenharia escolherão e integrarão serviços e tecnologias obrigatórios se atenderem às suas necessidades específicas.
Usar serviços, ferramentas e tecnologias: os processos são criados em torno de padrões que a equipe de plataforma cria, mas eles não podem ser facilmente estendidos pelas equipes de engenharia se não atenderem exatamente às suas necessidades. As equipes de engenharia não usam o padrão obrigatório ou o usam, mas não estão satisfeitas com o resultado final.
Anunciado
A organização promove ativamente os recursos da plataforma comunicando claramente os benefícios e casos de uso específicos que se alinham às necessidades da equipe. A equipe de plataforma colabora em estreita colaboração com as equipes de engenharia, não apenas para realçar essas vantagens, mas também para facilitar comparações de desempenho e configuração de metas por meio de ferramentas como scorecards e SMIs (Indicadores de Gerenciamento de Serviço). Serviços de suporte de alta qualidade são fornecidos para reduzir a sobrecarga operacional, tornando a plataforma uma opção atraente para equipes de produtos.
No entanto, apesar desses esforços, algumas equipes ainda podem perceber um ROI baixo ao migrar seus serviços para a plataforma, tornando-as hesitantes em se afastar de rotinas e práticas estabelecidas. Além disso, a organização enfrenta a complexa tarefa de equilibrar a redução da dívida técnica com a necessidade contínua de migrar serviços para a plataforma. Superar esses obstáculos requer envolvimento contínuo e suporte da equipe de plataforma para garantir que a proposta de valor da plataforma ressoe com todas as equipes em toda a organização.
Descobrir serviços, ferramentas e tecnologias: a plataforma comum expõe recursos que abrangem casos de uso típicos para a organização. As equipes de engenharia descobrem os recursos da plataforma por meio de diretivas de equipe de plataforma.
Escolha serviços, ferramentas e tecnologias: a equipe de plataforma colabora com equipes de engenharia para incentivar a escolha de recursos de plataforma.
Usar serviços, ferramentas e tecnologias: problemas e soluções relacionadas ao uso de serviços, ferramentas e tecnologias são compartilhados por meio de comunidades informais de prática dentro da organização. Por exemplo, eles nomeiam embaixadores ou campeões dentro de equipes de desenvolvimento para defender o uso dos recursos.
Orientado por valores
Os usuários em equipes de produtos e serviços optam por usar plataformas e suas funcionalidades devido ao valor claro que fornecem na redução da carga cognitiva em equipes de produtos, ao mesmo tempo em que fornecem serviços de suporte de maior qualidade. A documentação e as interfaces ergonômicas permitem que os usuários da equipe de produtos provisionem e usem rapidamente os recursos da plataforma. Os usuários escolhem implementações internas de plataforma em vez de alternativas, como desenvolver a funcionalidade por conta própria ou contratar um provedor.
Descobrir serviços, ferramentas e tecnologias: as equipes de engenharia se envolvem ativamente com a plataforma para descobrir uma variedade de recursos.
Escolha serviços, ferramentas e tecnologias: as equipes de engenharia usam a plataforma para procurar soluções para requisitos técnicos. A plataforma descreve o valor oferecido por cada funcionalidade e impulsiona as escolhas feitas pelas equipes de engenharia.
Usar serviços, ferramentas e tecnologias: o uso de recursos de plataforma é totalmente compatível com a plataforma por meio de modelos, fóruns de suporte, documentação etc.
Participativa
Os usuários das equipes de produtos investem ainda mais em recursos de plataforma, juntando-se ao ecossistema e contribuindo de volta para ele. Algumas contribuições melhoram e corrigem os recursos existentes; outras introduzem novos recursos e funcionalidades para resolver novos casos de uso. Processos e serviços são definidos e permitem que os usuários identifiquem requisitos e coordenem contribuições entre várias equipes de produtos e plataformas. Novos recursos são publicados por meio de interfaces e portais consistentes e com documentação completa e controle de versão padrão.
Descubra serviços, ferramentas e tecnologias: os defensores do desenvolvedor e os embaixadores internos criam e dão suporte a uma comunidade de usuários interna que estende a propriedade da plataforma aos colaboradores da equipe de aplicativos e serviços.
Escolha serviços, ferramentas e tecnologias: os engenheiros de plataforma participam do planejamento da equipe de produtos para saber dos requisitos e sugerir recursos existentes.
Usar serviços, ferramentas e tecnologias: as equipes de engenharia têm o poder de contribuir com correções, recursos e comentários para recursos de plataforma. As equipes de engenharia geram solicitações de pull com extensões necessárias e participam de revisões.