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.
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:
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.