A rotação do desenvolvedor líder é uma boa ou má idéia?


31

Eu trabalho em uma equipe que tem sido organizada desde a sua criação, há vários meses. Meu gerente não é técnico e isso significa que toda a nossa equipe é responsável pela tomada de decisões.

Meu gerente está começando a perceber que há vários benefícios em ter um desenvolvedor líder, tanto por ele (um único ponto de contato e único responsável pelas tarefas) quanto pelo nosso (resolução de disputas, orientação técnica organizada etc.).

Como a equipe é plana, uma preocupação é que escolher um desenvolvedor líder possa desencorajar os outros. Um não desenvolvedor sugeriu ao meu gerente que rotacionar o desenvolvedor principal é uma maneira possível de evitar esse problema. Um desenvolvedor seria líder em um mês, outro no próximo, e assim por diante.

isso é uma boa ideia? Por que ou por que não?

Lembre-se de que isso significa todos os desenvolvedores - todos os desenvolvedores são bons, mas não necessariamente adequados à liderança.

E se for não , como é que eu recomendo que podemos evitar esta abordagem sem parecer que é apenas por motivos egoístas?


7
"O desenvolvedor líder atual é imaginária Por favor, gire-o 90 graus e tente novamente."; O)
Piskvor

14
Não vou recomendar, isso pode deixá-lo tonto.
Gaurav

Respostas:


31

Não gire.

Eu não acho que alguém ganhe alguma coisa com a posição que está sendo rotacionada (além daqueles que não merecem ser os líderes podem receber mais dinheiro do que estão recebendo atualmente).

Ter um desenvolvedor líder brilhante que pode fazer o seguinte faz maravilhas para o processo de desenvolvimento :.

  1. Sabe como delegar.
  2. Está no controle.
  3. É um desenvolvedor experiente.

Ele é uma fonte única para o resto da equipe procurar e pedir conselhos. Ele também é o mediador entre a gerência de nível superior e a equipe de desenvolvimento principal. Não conheço nenhuma equipe administrativa que goste de lidar com mudanças (a menos que sejam elas que a instigam).

Se você realmente é o mais adequado para a posição, todos saberiam disso. Todos saberiam disso (por exemplo, gerência de nível superior, seu companheiro de equipe etc.). Diga que você não acredita que girar a posição vale a pena (se você acredita). Depois, sente-se e deixe-os fazer a nomeação - evite deixar de nome ou qualquer tipo de autopromoção, pois isso faria com que você parecesse pouco profissional


@ Jonathan Khoo: sua resposta parece ser "esqueça um sistema plano, contrate um desenvolvedor de rock star".

3
@moz - Talvez não seja um desenvolvedor de estrelas do rock, mas quando um projeto atinge um determinado tamanho, faz sentido ter algum tipo de ponto de contato principal que lida com as despesas administrativas. Também poderia ser apenas um gerente de projeto que não realiza nenhum trabalho de desenvolvimento.
rjzii # 03

2
se for uma equipe simples, o "desenvolvedor líder" não receberá mais pagamento do que o restante. Ele terá as responsabilidades, mas não os benefícios de ter um cargo sênior. Isso é de fato a realidade em praticamente qualquer equipe que eu já trabalhei no.
jwenting

6
@moz: Uma estrela do rock seria desperdiçada nessa posição, já que muito do que o desenvolvedor líder não envolveria programação. A experiência é útil, pois permite ao líder orientar e concede a ele o crédito nerd para liderar de maneira eficaz, mas você provavelmente não deseja que seu desenvolvedor mais produtivo passe algum tempo em reuniões com gerenciamento superior.
precisa

1
Acho que os tipos gerenciais que sabem o que é codificação (podem ler código, saber o que são tabelas e bancos de dados, saber o que é um soquete TCP / IP, podem ter codificado antes) são os mais adequados para essas funções. Afinal, há muita papelada envolvida e eles estão acostumados.
Vincent Vancalbergh

11

Há duas partes em ser um desenvolvedor líder:

  • Liderança técnica Para a liderança técnica, faz sentido escolher um desenvolvedor líder diferente no nível do projeto. Faça com que cada desenvolvedor seja um líder técnico para um projeto diferente, alternando, se necessário, à medida que os projetos alternam. Esse tipo de abordagem pode lidar com a dinâmica da equipe e garantir que todos sejam devidamente desafiados

  • Comunicação Um único ponto de contato para comunicação com o mundo externo é bom para o mundo exterior e ruim para o ponto de contato. Quem ficar preso à bola da comunicação terá menos tempo para fazer um trabalho real e terá que correr para obter informações de todos para repassar. Se você é o melhor comunicador e está disposto a parar de fazer tanto trabalho divertido em troca de conversar, mais poder para você.


Portanto, não seria possível dividir esses dois papéis? Frequentemente, o melhor comunicador não é o melhor tecnicamente. Eu encontrei o melhor "programação em pares" situação vem quando cada um se destaca em um daqueles
Cashcow

Pode confirmar. Aceitei meu primeiro papel de liderança há 6 meses (equipe de 12 desenvolvedores) e nunca passei tanto tempo programando como agora. Principalmente apenas orientação, gerenciamento e geração de relatórios para cima.
Mr. JavaScript

6

Não é necessariamente uma má ideia, desde que os desenvolvedores envolvidos estejam envolvidos e (idealmente) capazes.

Estou tendo problemas para encontrar referências para isso (mas continuarei procurando), mas, se bem me lembro, algumas empresas ágeis fazem isso - elas alternam o título de "líder da equipe" a cada iteração ou em outro momento pré-definido período. Isso promove o envolvimento do desenvolvedor e dá a todos a chance de fazer parte da gestão de equipe / comunicação externa sem fazer com que o desenvolvedor permanentemente desenvolva essa função.

Algumas desvantagens incluem perda potencial de informações (isso pode ser atenuado de várias maneiras) e maior potencial de liderança "ruim". Também pode ser difícil manter uma visão / direção para a equipe. No entanto, se todos estão de acordo com essa abordagem e os membros da equipe têm conhecimento e estão interessados ​​em fazer esse sistema funcionar, pode valer a pena tentar.


Eu não acho que você necessariamente queira mudar TODOS os desenvolvedores para a posição de líder da equipe, mas eu esperaria que um desenvolvedor sênior pudesse lidar com essas responsabilidades. Francamente, é um trabalho ingrato, e é mais um caso de compartilhar o fardo e evitar queimar um indivíduo. Também acho que ajudará a manter dinâmicas as vantagens de sua equipe de organizações orgânicas, a fim de não ter um desenvolvedor como líder permanente.
MebAlone 28/08/12

"Algumas desvantagens incluem perda potencial de informações (isso pode ser atenuado de várias maneiras) e maior potencial de liderança" ruim ": que tal rodar apenas em desenvolvedores selecionados, isso pode evitar esse problema.
Adrien Seja

1
@AdrienBe Você ainda precisa transferir informações entre eles. A menos que eles estejam liderando ao mesmo tempo o tempo todo (o que derrota o objetivo), você terá que levar isso em conta. Você também pode alienar outros desenvolvedores da equipe que não conseguem liderar e podem se sentir excluídos.
Adam Lear

5

Se você girar, não faça isso durante um projeto. Não há nada intrinsecamente errado em atribuir funções diferentes a pessoas diferentes para projetos diferentes, com base em quem é mais apropriado em cada posição para esse projeto em particular. Mas não faça Joe "programador líder" apenas porque é sua vez na lista para realizar o trabalho. Ele pode não ser habilidoso para isso, ele pode até não querer o emprego.


4

Girar o desenvolvedor líder com base no tempo é uma má idéia.

Todo mundo é um bom desenvolvedor, não significa que todo mundo é um bom líder. E um é um bom líder, não significa que ele é adequado para o líder deste programa.

Penso que a importância das missões atribuídas aos desenvolvedores é diferente e a liderança de cada desenvolvedor é diferente. Acho que você pode aconselhar seu gerente a realizar uma votação. Cada voto de 2 pessoas para o melhor candidato e a pessoa que obtiver mais votos deve ser o desenvolvedor líder


3

Estou inclinado a concordar com Jonathan Khoo que mudar o desenvolvedor principal pode ser uma má ideia. Geralmente, para projetos maiores, existe um único líder técnico que lidera o projeto e essa pessoa pode ter vários leads de componente que se reportam a eles para discutir vários problemas em todo o sistema.

No entanto, um ponto importante que Jonathan não mencionou é que o líder técnico também desenvolve um alto grau de conhecimento institucional que outros no projeto podem não ter. Ao girar o líder técnico, você exige que eles desenvolvam esse conhecimento cada vez que alguém é rotacionado para a posição. Além disso, o líder desenvolverá um relacionamento com os clientes fora do projeto, pois eles devem estar presentes idealmente em algumas das reuniões (maiores) com os usuários finais.

Ter uma liderança técnica é bom, mas se você tentar alterná-la, poderá descobrir que estava melhor sem ela.


2

Acho que primeiro você precisa determinar qual é o papel dessa pessoa, mais do que quem faz e por quanto tempo.

Você também precisa determinar se isso vai mudar significativamente a maneira como o restante de vocês trabalha e se reduzirá seu desempenho. O fato de uma pessoa ter que "aprovar" todas as linhas do seu código, em vez de qualquer colega, pode ter um efeito sério.

Diferentes papéis específicos podem ser atribuídos a diferentes membros da equipe, sem que nenhum de vocês seja "superior". Aquele que é melhor em se comunicar entre o gerente e os outros pode ter uma função específica para fazer isso, mas isso não significa que eles são um "desenvolvedor líder" e podem não ser a pessoa que é tecnicamente ou melhor em fazendo revisões de código.


2

Eu estaria disposto a apostar que, enquanto a equipe é ostensivamente plana, já existe um líder entre eles, e todos eles já sabem disso.

Os organogramas raramente refletem como as pessoas realmente trabalham. Gráficos especialmente idealizados como "uma equipe plana".


2

Se sua organização for plana, faça com que todos os seus desenvolvedores passem pelo treinamento de Análise de Requisitos e Soluções (RSA) para que eles sigam um processo formal. Em seguida, você pode atribuir vários especialistas no assunto (SME) a ​​um projeto e obter um processo documentado para toda a solução.

Além disso, como você mencionou que o gerente não é técnico, esse indivíduo ainda pode conduzir o processo RSA e facilitar a comunicação. Você também pode atribuir uma PME específica como líder em um projeto por projeto, para ajudar na facilitação e desenvolver suas habilidades individuais.


1

Por que a equipe de desenvolvimento não vota anonimamente? Eu usaria votação preferencial.


1
  1. Você pode selecionar alguém da sua equipe para liderá-la.
  2. Seu chefe pode contratar outra pessoa experiente para assumir essa posição

PS: Não acho que girar é uma boa ideia, a pessoa deve ter habilidade em comunicação e ter uma boa experiência no gerenciamento de uma equipe.


1

Como sua pergunta sugere, toda a equipe é responsável pela tomada de decisão, eu sugiro que você possa mantê-la da mesma maneira. No entanto, para se comunicar e relatar às autoridades fora da equipe, você pode ter um Coordenador de Equipe selecionado na equipe. Suas responsabilidades incluiriam tudo que não fosse técnico. Por todos os aspectos técnicos, a equipe deve sentar e discutir da mesma maneira que você faz agora. Qualquer que seja a decisão que você tome, será comunicada ao mundo externo através do Coordenador . Essa posição pode ser girada facilmente com base no tempo.

A outra abordagem pode ser a de ter um desenvolvedor líder com base no nível de experiência> experiência no mesmo projeto> experiência na mesma empresa. E, se necessário, a posição pode ser rotacionada fase a fase. Idealmente, cada fase de desenvolvimento possui seu próprio conjunto de requisitos e produtos, que podem ser planejados e trabalhados como um mini projeto. Ter uma vantagem diferente para cada fase minimizaria quase todos os impactos negativos da rotação.


1

Em vez de ter um desenvolvedor líder rotativo, tenha um líder de projeto rotativo, alguém que tenha mais conhecimento e entendimento para levar o x projeto à conclusão.

O desenvolvedor líder geralmente é uma promoção e deve ser conquistado.

Mas, para ajudar a treinar e desenvolver habilidades de liderança, alterne quem é o responsável por diferentes projetos e, em seguida, faça uma avaliação clara de quão bem eles foram ou não.


0

Deve haver um líder de equipe da mesma forma que um capitão em um navio suficientemente grande.

Se o gerente não preencher ou não desempenhar essa função, um dos desenvolvedores deverá ser indicado para preenchê-la.


0

Eu acho que você deve primeiro perceber coletivamente a sua sorte em ter o poder de tomar todas as decisões técnicas dentro da equipe de desenvolvimento. Quantas equipes sofrem com o ônus de uma hierarquia de microgerenciamento que lhes impõe seus caprichos técnicos, geralmente resultando em escolhas inconsistentes, pesadelos de compatibilidade e frustração de desenvolvedores ...

Nos benefícios de um desenvolvedor que você mencionou, alguns deles (orientação técnica organizada ...) já deveriam estar acontecendo se houvesse uma pessoa naturalmente destacada em termos de habilidades técnicas. Se for esse o caso, não vejo como oficialmente tornar essa pessoa um desenvolvedor líder daria melhores resultados do que os que você obtém agora. Se esse membro da equipe não existe na sua equipe, não vejo como dar oficialmente autoridade técnica a qualquer pessoa levaria a melhores resultados do que discussões e decisões coletivas.

Vejo muito mais valor em estabelecer um líder organizacional - um coordenador, como dinamarquês colocou. Não um gerente, não um chefe, mas alguém que organizaria o processo coletivo de tomada de decisões e atuaria como porta-voz da equipe, uma interface para o exterior. Se você seguir esse caminho, girar pode ser uma boa idéia para evitar problemas mencionados acima - diferenças salariais, ciúmes ...


0

Em algum momento, ser líder é uma responsabilidade mais pesada do que outra coisa. Alguém tem que assumir a responsabilidade pelas escolhas, é assim que a sociedade funciona quando ninguém mais quer fazê-lo.

O fato de uma equipe querer rotacionar o líder pode significar que todo mundo sente que pode assumir a responsabilidade pelo que faz, e não quer favorecer ninguém, e isso parece ser uma coisa boa: não há ressentimentos e todo mundo quer que a equipe tenha sucesso.

Nesses casos, quando houver decisões difíceis a tomar, faça um voto nessas decisões e, quando precisar de um representante para conversar com outras pessoas, apenas escolha alguém que possua as melhores habilidades de comunicação.


-1

Primeiro de tudo, acho que você precisa separar os papéis. Não há razão para que a pessoa que atua como ponto de contato entre a equipe e o restante da empresa precise necessariamente ser também a pessoa que toma as decisões técnicas finais.

Atuar como ponto de contato não deve conferir nenhuma autoridade; portanto, a rotação dessa responsabilidade em um horário fixo não deve ser necessária. Eu diria que a equipe se sente, todo mundo diz o quanto se importaria em fazer o trabalho (algumas pessoas podem gostar, outras podem se opor fortemente a fazê-lo) e depois vote em alguém para desempenhar o papel. Faça entender que eles podem entregá-lo a outra pessoa sempre que ficarem cansados ​​de fazê-lo.

Quanto ao lado técnico principal. Se todos tiverem o mesmo conjunto de habilidades e aproximadamente o mesmo nível de experiência, com certeza, deixe que todos tentem ser líderes. O importante é absolutamente não mudar no meio do projeto. Aguarde até o início de um novo projeto e escolha o líder que tem mais experiência nessa área ou aleatoriamente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.