Liderança de Engenharia na Prática

Esse post foi traduzido automaticamente do inglês. Se você encontrar algum erro, por favor entre em contato.

Em um post recente, falei sobre a ideia de como Engineering Managers (EMs) devem atuar como líderes em seus times. Eles devem trabalhar intencionalmente nos sistemas (ou processos) que afetam seus times para alcançar melhores resultados para o time e seus membros.

Engenharia de software é uma disciplina complexa, e times que entregam software são afetados por múltiplos processos. Como alguém decide onde colocar seu foco?

Como líder, você normalmente é bombardeado com múltiplas iniciativas, projetos sendo entregues, dados sendo coletados e pessoas com opiniões. Navegar por tudo isso e encontrar resultados produtivos para o grupo é certamente o principal desafio do papel.

Dando um passo atrás para ter uma visão melhor

Sempre que há um problema de foco, um bom movimento é dar um passo atrás e tentar olhar para a floresta em vez das árvores. Um modelo que acho útil para engineering managers (ou qualquer pessoa trabalhando com times) é olhar para o seu trabalho a partir de três lentes diferentes: Social, Técnica e Comercial (daqui), e buscar ter sucesso em todas elas.

Da perspectiva Social, as pessoas estão satisfeitas com seu trabalho neste time? Da perspectiva técnica, o trabalho entregue é tecnicamente sólido ou adequado ao seu propósito? E da perspectiva Comercial, o time está entregando valor suficiente para seu cliente/mercado?

Embora esses conceitos não sejam específicos da engenharia de software, é possível adaptá-los facilmente para o nosso propósito:

Produto (Comercial): Um time precisa entregar bem em seus objetivos, ou nos da empresa, da forma como são medidos internamente. No fim das contas, é por isso que o time foi criado.

Pessoas (Social): Um time precisa proporcionar um ambiente onde seus membros gostem de trabalhar e encontrem espaço para crescer em suas carreiras. E precisa oferecer essas oportunidades para todos os seus membros.

Engenharia (Técnica): Por fim, um time precisa construir tecnologia com a qualidade necessária para ter sucesso a longo prazo. Isso não significa software perfeito, mas sim software adequado ao propósito das necessidades da empresa e que permita evolução contínua.

The different aspects of a team Os diferentes aspectos de um time.

Como EM, você deve ser responsável por encontrar esse equilíbrio e manter tudo funcionando junto. Embora existam momentos em que o time pode conscientemente pender para uma área em detrimento de outra (pressionando para entregar um projeto, por exemplo), no final, o time precisará funcionar bem nessas três categorias para alcançar sucesso a longo prazo.

Uma visão prática para Engineering Managers

Na prática, tenho achado útil alinhar o trabalho em liderança de engenharia com dois objetivos principais:

Practical framework for EMs Framework prático para EMs

Se você comparar as áreas acima com esses dois objetivos, a peça que obviamente falta é o aspecto técnico. No entanto, descobri que em engenharia de software, se o trabalho que você entrega não tem qualidade suficiente ou não é interessante o bastante, seu time acabará sofrendo em uma das outras áreas: seus resultados ou a satisfação dos seus membros.

Resumindo, como EM, você pode olhar para os objetivos acima e avaliar se seu time está indo bem em relação a eles ou onde existem desafios. Com isso em mente, fica mais fácil focar sua atenção nos processos ao redor daquela área específica e ver como isso afeta seu time.

Embora cada situação seja diferente, aqui estão alguns exemplos que vi no passado trabalhando com times de engenharia de produto.

  • Quando o time tem dificuldade em completar trabalhos porque os itens levam “tempo demais”, é útil entender como o time visualiza e organiza o trabalho. Como já mencionei várias vezes, o stand-up do time é uma parte importante disso.
  • Se frequentemente há problemas com a qualidade do trabalho, é útil entender como os requisitos são definidos e como a garantia de qualidade é feita.
  • Se engenheiros específicos estão com dificuldades, é útil entender como o trabalho é distribuído entre o time e quais sistemas de colaboração e aprendizado existem.
  • Se os engenheiros se sentem desconectados do trabalho, é importante entender como os projetos são definidos, da ideia à produção, e o quanto a engenharia pode participar.

No fim das contas, essa lista pode continuar para sempre. O que é importante entender é que sempre existe uma solução dentro do sistema.

Esse post faz parte de uma série sobre Liderando Times de Software com Pensamento Sistêmico.

Gostou deste post? Escrevo sobre liderança em times de engenharia de software. Assine para ficar por dentro.