Estratégia para Engineering Managers
Esse post foi traduzido automaticamente do inglês. Se você encontrar algum erro, por favor entre em contato.
Um jogo de xadrez gerado usando MidJourney
Engineering Managers (EMs) têm seu foco voltado para execução e pessoas. Eles trabalham para garantir que seu time esteja alcançando seus objetivos e que seus liderados estejam no caminho certo de crescimento. E isso já é bastante. Manter um time funcionando bem enquanto cria um ambiente gratificante para seus membros pode ser um trabalho em tempo integral.
Infelizmente, muitas vezes isso também não é suficiente. Na realidade, cumprir o trabalho de curto prazo dentro de um time vai manter o time à tona, mas não melhorar sua condição atual. Também pode não manter as coisas estáveis no ambiente em constante mudança da indústria de tecnologia.
Isso acontece porque todo time, mesmo os de alta performance, terá uma série de problemas latentes que podem se tornar um problema se não forem endereçados. Isso pode ser porque o time ainda não lidou com eles ou porque o contexto ao redor está mudando, com mais complexidade de software, tecnologia legada ou necessidades de negócio em evolução.
Como um gestor pode lidar com essas situações? Como ele deve melhorar o sistema do seu time no curto, médio e longo prazo? Em outras palavras, qual é a sua estratégia?
Estratégia com ‘e’ minúsculo
Antes de discutir como abordar o tema, vale a pena falar sobre a palavra Estratégia. Estratégia se tornou uma palavra grande em tecnologia, frequentemente representando um plano audacioso e ambicioso. Se você pesquisar “como escrever uma Estratégia de Engenharia”, provavelmente encontrará instruções para criar um plano de múltiplos trimestres/anos envolvendo “o negócio”, múltiplas rodadas de alinhamento com stakeholders e um longo tempo para chegar a um acordo.
Isso é avassalador. E também diferente do tipo usual de desafio que um gestor precisa resolver no nível do time. Um movimento grande e audacioso é apenas uma das muitas formas de pensar sobre estratégia. Se um time tem um desafio, pequeno ou grande, estratégia é como eles vão superá-lo.
“Uma estratégia coordena ações para enfrentar um desafio específico.” ― Richard Rumelt, Good Strategy, Bad Strategy
Desmistificar a estratégia é essencial porque, na maioria dos casos, EMs enfrentarão problemas nos seus times que estão dentro do seu escopo de autoridade ou influência e onde podem agir. Esperar que a organização se alinhe em um plano de cinco anos não vai ajudar a avançar nesses casos.
Por outro lado, se tornar proficiente em identificar um problema, alinhar um plano para resolvê-lo e executá-lo com sucesso, sim. Para esclarecer, vamos olhar alguns exemplos desses problemas.
Problemas, Problemas em Todo Lugar
Uma verdade geral sobre engenharia de software é que qualquer time pode melhorar continuamente. Existem muitas áreas nas quais um time poderia focar para se tornar mais eficaz.
Além disso, o caminho natural é as coisas piorarem. Com mais código e funcionalidades, a complexidade aumenta. Com o passar do tempo, uma parte mais significativa do produto é considerada legada. Isso significa que apenas manter as luzes acesas não é suficiente, já que a eficiência do time terá uma tendência negativa a menos que estejam constantemente trabalhando contra isso.
Isso leva à situação comum onde os times estão apenas se mantendo à tona. Um exemplo típico disso acontece quando a quantidade de falhas (ou seja, problemas, incidentes, débito técnico) continua aumentando a ponto de tomar uma quantidade significativa de tempo para manter o produto funcionando.
Quatro estágios do progresso de um time. Enquanto a estratégia pode levar times para a direita, ser passivo com problemas persistentes pode levá-los para a esquerda.
Pior que isso, se os times não melhoram, eles arriscam retroceder para uma crise conforme o ambiente muda. Por exemplo, um time de desempenho médio pode ficar para trás se um de seus membros decidir sair da empresa.
Por causa disso, ser estratégico como gestor significa entender o contexto do seu time, focar esforço em melhorar áreas específicas e liderar o time em direção a um caminho positivo. Estratégia é como o time vai contra-atacar o ambiente e se tornar mais eficaz.
Agindo
Dado que entendem como seu time funciona e onde focar, como podem agir? Esse é um tema extenso; cada ponto abaixo deveria ser um artigo. Mas aqui está uma lista de alto nível de passos que um EM deveria considerar para executar uma melhoria estratégica.
Entenda os objetivos e necessidades do negócio
Conseguir apoio para qualquer iniciativa é mais fácil se ela estiver alinhada com as necessidades da empresa. Embora melhorias de engenharia possam ser tangenciais aos objetivos de negócio, a direção de alto nível precisa permanecer a mesma.
Por exemplo, ao trabalhar em uma startup em estágio inicial, ser reativo a mudanças no modelo de negócio pode ser muito importante e justificar investimento em simplificar o código. Por outro lado, em uma empresa de rápido crescimento, investimento em estabilidade e qualidade pode ser mais crítico. No fim das contas, quanto mais próximos os investimentos em engenharia estiverem de fornecer vantagens estratégicas para o negócio, melhor serão recebidos.
Por exemplo, no passado fui contratado para gerenciar um time em uma startup de alta pressão e focada em funcionalidades, onde os engenheiros tinham um desafio histórico em conseguir apoio para iniciativas de melhoria. Naquele caso, era importante para a empresa entregar novas ideias rapidamente, em poucos dias.
Com esse contexto em mente, encontrei espaço para investimento esclarecendo que o time precisava criar software de alta qualidade com forte foco em testes automatizados para alcançar esse padrão. Uma vez que o negócio estava alinhado com essa ideia, conseguir apoio para iniciativas de melhoria das nossas capacidades de teste se tornou possível.
Defina o plano
Parece óbvio, mas para um plano existir, ele precisa ser definido. É surpreendente quão comum é ver EMs com ótimas ideias que nunca avançam porque nunca propuseram um plano concreto. Além disso, ideias indefinidas podem ser obscuras até para quem as sugere, tornando difícil obter feedback e encontrar alinhamento.
Embora existam múltiplas formas de fazer isso, e varie conforme a cultura da empresa, é difícil fugir de escrever um documento propondo um plano no mundo remoto de hoje. Criar uma proposta escrita também ajuda por ser um artefato que você pode compartilhar com diferentes pessoas, obter feedback e iterar sobre ele.
Existem vários formatos por aí. No entanto, um simples que usei com sucesso é baseado no Template A3. Na prática, ele foca a proposta no seguinte:
- Contexto e situação atual — O que alguém precisa saber sobre a situação atual e o problema?
- Plano proposto — O que exatamente está sendo proposto?
- Resultados esperados — O que deve acontecer se essa proposta for executada?
- Como medir? — Como os resultados serão medidos?
- Próximos passos — Quais são os próximos passos imediatos após aprovar essa proposta?
Um plano escrito também é uma pedra fundamental para qualquer iniciativa. Em qualquer ambiente organizacional, é comum ver pessoas discordando sobre o caminho a seguir porque estão discutindo problemas de alto nível sem se entender, trazendo vieses para a conversa e não compreendendo o que cada um quer dizer na prática. Por isso, mesmo que uma ideia não esteja totalmente definida, colocá-la no papel dará aos outros uma proposta concreta para concordar ou discordar, permitindo que ela evolua.
Seja focado
Ter uma estratégia significa focar em uma área em vez de focar em outras. Um erro comum de times é avaliar iniciativas com base em elas prometerem um resultado positivo. Priorização não é separar ideias boas de ideias ruins. É selecionar a melhor ideia dado o contexto atual.
Uma estratégia é uma ferramenta para alinhar sobre esse contexto. EMs podem usá-la para definir a situação atual e alinhar o time na resolução de um problema específico. No entanto, para fazer isso, a estratégia precisa ser focada. Combinar muitos objetivos e colocá-los juntos em uma lista não é uma estratégia. É pensamento desejoso.
Consiga apoio
Uma vez que o plano está escrito, é hora de encontrar alinhamento e apoio para executá-lo. Embora a quantidade de apoio necessário varie com base na proposta, um gestor deve considerar seu círculo de autoridade e influência ao definir onde agir. Em geral, propor planos que afetam apenas o seu time será muito mais fácil de encontrar alinhamento do que tentar influenciar outras partes da organização a mudar.
Com isso em mente, garantir que o time teve a chance de dar sua perspectiva sobre qualquer iniciativa e também garantir que o gestor acima está de acordo com a ideia será o melhor caminho para conseguir apoio na criação de uma iniciativa. Além disso, é útil entender as pessoas que influenciam decisões, seja formalmente com base na estrutura organizacional ou informalmente com base em sua experiência e tempo de empresa.
Um conselho comum que dou a EMs é manter suas propostas dentro do seu círculo de controle e conseguir apoio individual dos membros do time conforme têm a iniciativa de propor. Será muito mais fácil alinhar um grupo quando o gestor é responsável por aquele grupo e quando todos sentem que têm uma oportunidade real de influenciá-lo.
Só está pronto quando está pronto
A parte vital de qualquer plano é fazê-lo acontecer. E isso é similar com melhorias estratégicas. Quando há alinhamento e apoio para um projeto que propuseram, gestores devem acompanhar a execução e levá-lo a uma conclusão.
Isso é sempre mais difícil do que parece. A maioria das iniciativas de melhoria exigirá acompanhamento constante enquanto o time constrói novos hábitos. Também frequentemente parecerá que o time está dando um passo para frente e dois para trás, já que inevitavelmente terá dificuldade em implementar a mudança.
Líderes devem lembrar que em qualquer processo de mudança, haverá uma tendência de retrocesso quando a situação piora antes de melhorar. Isso é natural, dado que um novo processo/técnica levará tempo para ser aprendido pelo time. Nessas situações, é essencial manter o momento para frente para chegar a um novo normal.
Modelo de Mudança de Satir — É normal as coisas piorarem antes de melhorar em uma mudança
Não esqueça do básico
Durante esse processo, é imperativo lembrar que o time ainda precisa continuar fazendo bem seu trabalho e que o objetivo principal continua sendo construir um time eficaz. O apoio para mudança geralmente vem quando a organização confia que um gestor pode liderar um time para entregar seu objetivo primário, e é essencial continuar fazendo isso enquanto se adicionam diferentes melhorias por cima.
Isso significa que líderes precisam manter o dedo no pulso e adaptar suas estratégias dependendo do que está acontecendo. Ter alguma confusão ao implementar um novo processo de QA pode ser aceitável, mas entregar um produto de baixa qualidade por causa disso não é. E se isso acontecer, pode ser necessário pausar a iniciativa, reagrupar e seguir em frente depois.
Ter uma Estratégia Vale a Pena
Gerenciar um time é uma tarefa complexa, especialmente porque, com o passar do tempo, novas complexidades e desafios farão o time lutar para manter seu desempenho. Por causa disso, todo EM precisa pensar sobre a estratégia do seu time, ou em quais iniciativas deveria investir para estar em um lugar melhor no futuro.
Embora definir e implementá-las seja um esforço abstrato, ter uma perspectiva e esforço constantes em melhoria é uma ferramenta crítica para tornar o time eficaz no longo prazo.
Esse post faz parte de uma série sobre Liderando Times de Software com Pensamento Sistêmico.