A Engenharia de Confiabilidade do Site (SRE) e suas áreas interconectadas, como Observabilidade, Engenharia de Plataforma e DevOps, normalmente operam sem Gerentes de Produto. Acredito que isso aconteceu porque a TI era vista apenas como um centro de custos e não como uma fonte de vantagem competitiva.
No link abaixo, descrevo o papel e a diferença entre o PM e o TPM:
Com a ascensão de gigantes da tecnologia como Google, Amazon ou Facebook, outras empresas começaram a adotar práticas semelhantes de SRE que melhoram a eficiência, a segurança, a velocidade de desenvolvimento e o desempenho de confiabilidade de sistemas de grande escala.
Todo mundo está tentando se mover na mesma velocidade que as grandes empresas de tecnologia e startups ágeis. As apostas em SRE ou DevOps agora são vistas como investimentos com retornos positivos, em vez de custos irrecuperáveis.
Há pouca ou nenhuma literatura vinda do Google descrevendo como os gerentes de produto podem fazer parte de uma equipe SRE. Embora haja muito a dizer sobre os ciclos de vida da equipe SRE e suas diferentes topologias, não há muito a respeito de trazer não engenheiros para essa função. Acho que isso vai mudar em breve.
Por que as equipes de SRE precisam de gerentes de produto? Há um número crescente de POs (Product Owners) e PMs (Product Managers) nas equipes de SRE e plataforma porque eles precisam:
Construir produtos para usuários (outras equipes de engenharia)
Priorize quais investimentos em confiabilidade têm o maior impacto nos clientes
Criar a estratégia de confiabilidade de longo prazo para uma empresa
Criar coisas Vs. Tomada de decisões
Estabelecer contato com vários grupos funcionais, incluindo equipes fora da engenharia
Definir metas de confiabilidade e relatar o desempenho da perspectiva das expectativas dos clientes
Gerenciar relacionamentos com fornecedores
E as tarefas listadas acima provavelmente estão roubando tempo dos SREs e das atividades de garantia de confiabilidade.
Por um questionamento no subredit r/sre, e por experiência empírica, uma grande proporção dos SREs realmente constrói e/ou gerencia ferramentas de desenvolvedor em seu tempo de trabalho, mas também há aqueles que dedicam uma parte de seu tempo respondendo a perguntas, reuniões e realizando tarefas administrativas.
Laura Woo, que atua como PM no time de plataforma da Wise afirma:
Esperamos que nossos TPMs (Technical Product manager) na tribo de plataforma tenham um relacionamento de trabalho estreito com as equipes de engenharia de produto, infraestrutura e segurança, pois geralmente são as principais partes interessadas e consumidores dos produtos que nossas equipes de plataforma estão construindo.
Ainda na mesma entrevista sobre o PM na equipe de plataforma da Wise, temos a seguinte afirmação do porque decidiram este papel para o time:
Por que nossa equipe de plataforma decidiu contratar um TPM (gerente técnico de produto)?
Temos gerentes de produto incríveis, focados em criar produtos que nos aproximem de cumprir nossa missão e aumentar nosso alcance globalmente. Eles vêm de várias origens, têm profundo conhecimento de domínio e estão focados em trazer o melhor produto para nossos usuários finais. Os gerentes de produto devem ter uma compreensão do mercado e da área em que irão crescer. Este também é um fator ao procurar Gerentes Técnicos de Produto para equipes de plataforma, onde as ofertas são serviços técnicos: bibliotecas, APIs e muito mais.
Para estabelecer prioridades e construir roteiros, um TPM deve ter os fundamentos técnicos e entender a pilha de tecnologia com a qual está trabalhando, quais são as limitações de diferentes soluções técnicas e ser mais focado na engenharia.
E sobre sua experiência como TPM no time de plataforma:
Como gerente técnico de produto, você pode se ver usando vários chapéus e é um ato de equilíbrio entre os projetos. Às vezes, você precisará intervir e gerenciar o projeto para colocar as coisas nos trilhos, enquanto outros projetos podem exigir tempo dedicado à coleta de requisitos não funcionais e funcionais para os produtos em desenvolvimento.
Você também deve reservar um tempo para gastar em coisas como: planejamento trimestral definir OKRs (objetivos e principais resultados) e KPIs com as equipes construindo roteiros de longo prazo identificar e mitigar riscos
Um gerente técnico de produto definitivamente precisa ser adaptável e capaz de mergulhar em territórios desconhecidos. Isso também significa desafios de troca de contexto, você pode passar da discussão da implementação de SLO/SLIs com a equipe SRE para os requisitos de segurança CI/CD com as equipes de Automação e Ferramentas e Segurança.
O que os Gerentes de Produto SRE (SRE PM) fazem?
Os gerentes de produto que dão suporte às equipes de SRE e plataforma são solicitados a trazer técnicas tradicionais de gerenciamento de produtos, como pesquisa de usuários, priorização de roteiros e alinhamento das partes interessadas para o mundo da confiabilidade. De acordo com várias descrições de cargos que analisei, suas responsabilidades geralmente incluem:
Parceria com líderes de engenharia e produtos para criar roteiros de produtos para SRE
Criação de uma estratégia de longo prazo para observabilidade e investimentos em ferramentas, incluindo o gerenciamento de relacionamentos com fornecedores
Implementar e manter indicadores de nível de serviço (SLIs) e objetivos de nível de serviço (SLOs)
Criar perfis de usuários (engenheiros de software) e garantir que os produtos da SRE atendam às suas necessidades
Defender a propriedade da confiabilidade em equipes não SRE e permitir que elas responsabilizem e rastreiem a confiabilidade dos serviços pelos quais são responsáveis
Possuir a visão e a estratégia para: gerenciamento de incidentes, recuperação de desastres, teste de desempenho, engenharia de caos, etc.
Observação: as responsabilidades variam de uma organização para outra, bem como os cargos - líder de produto SRE, gerente de programa técnico, proprietário de produto SRE, etc.
Abaixo está um exemplo visual de como um Product Manager pode fazer parte de uma equipe SRE e algumas de suas responsabilidades — não tome as áreas de trabalho do SRE como uma verdade absoluta, sei que faltam muitas e algumas dessas são sempre responsabilidades compartilhadas em toda a equipe!
Dado o princípio da SRE de aplicar software para gerenciar e automatizar a TI, a função assumiu com sucesso muitas áreas de responsabilidade. E conseguiu fazê-lo com menos pessoas do que normalmente seria necessário para se mover na mesma velocidade de forma confiável. Isso significa que a complexidade aumentou drasticamente e agora há necessidade de uma estratégia focada, planejamento e função de gerenciamento dentro do SRE.
Acredito que começaremos a ver cada vez mais gerentes de produto entrando nessa área ou, muito provavelmente, mais engenheiros assumindo formalmente uma função de gerenciamento técnico de produtos dentro da confiabilidade. Minha segunda hipótese é que a metodologia SLO se tornará a melhor amiga do gerente de produto porque permitirá que ele:
Concordar com as funções não relacionadas à engenharia sobre as metas de confiabilidade necessárias para atender ou exceder as expectativas do cliente
Comunique-se sobre o desempenho de confiabilidade com SLIs/SLOs como uma linguagem padronizada
Priorize o roteiro de acordo com o desempenho histórico do SLO
Projete melhores estratégias de alerta e gerenciamento de incidentes com alertas de taxa de queima
Permita que as equipes assumam a confiabilidade de seus serviços com SLIs de serviço prontos para uso
Monitore KPIs/OKRs baseados em dados, permitindo uma tomada de decisão ponderada, justificada e rápida.
Referências:
https://www.rely.io/blog/what-is-an-sre-product-manager
https://cloud.google.com/blog/products/devops-sre/how-sre-teams-are-organized-and-how-to-get-started
https://www.wise.jobs/2021/04/16/life-in-the-wise-platform-team-as-a-technical-product-manager/