Eu sou gerente. Como posso melhorar as relações de trabalho e a comunicação com os programadores? [fechadas]

431

Um pouco de fundo primeiro. Sou gerente de projetos em empresas de médio porte. Comecei como especialista em CS e tive uma pequena exposição à programação, mas depois de alguns meses eu sabia que não era o meu caminho, então mudei para o gerenciamento. Essa provou ser uma boa decisão e, depois de me formar, trabalhei em gerenciamento de software em várias empresas (há 5 anos).

Recentemente, tivemos um projeto muito doloroso. Foi o pior dos piores, com muitos erros do nosso lado e do lado dos clientes e mal terminando sem perdas. Isso levou a muitas situações frustrantes, uma das quais escalou até o ponto em que um de nossos desenvolvedores seniores deixou a empresa após uma discussão vocal conosco (a gerência). Isso foi uma bandeira vermelha para mim: fiz algo terrivelmente errado. (para o registro, o argumento era sobre várias estimativas de tempo equivocadas)

Procurei em muitos lugares por respostas e um amigo me indicou este site. Aqui há muitas perguntas sobre frustrações com a gerência. Eu posso entender que as más experiências gerais levam a uma relutância geral contra "aqueles caras de terno".

Eu sou aquele cara de terno. Pode não parecer, mas tudo o que quero é um projeto bem-sucedido e, com recursos limitados, toma decisões dolorosas. Esse é o meu trabalho. Uma das coisas das quais o desenvolvedor sênior mencionado reclamou foi de equipamentos de trabalho. Francamente, eu não tinha ideia de que os computadores que tínhamos não eram adequados para trabalhar. Depois disso, perguntei a muitos programadores e o consenso geral era que precisamos de máquinas melhores. Corrigi isso desde então, mas obviamente havia uma enorme lacuna de comunicação entre mim e os programadores. Alguns dos desenvolvedores mais brilhantes são as pessoas mais tímidas e silenciosas. Eu sei disso e nunca foi um problema durante uma entrevista. As pessoas são diferentes e têm pontos fortes em diferentes áreas.

O caso dos PCs com pouca potência é apenas um dos muitos que me levaram a pensar que há um problema de comunicação. Como posso melhorar a comunicação com os programadores sem ser intimidador e repetitivo?

O que espero é que as pessoas não se queixem de coisas boas. Se você ama seu local de trabalho e ama (ou pelo menos gosta :)) de seu gerente, conte-me sobre eles. O que eles estão fazendo certo? Da mesma forma, se você odeia, descreva em detalhes o motivo. Estou procurando respostas sobre como melhorar a comunicação porque acho que esse é o meu problema, mas posso estar errado.

AgentSmith
fonte
45
Você nunca leva seu desenvolvimento para um almoço ou jantar em equipe? Fazemos isso pelo menos uma vez por mês. Você não tem reuniões informais com eles, em equipe e individualmente (pelo menos trimestralmente)? OTOH, uma pessoa que gerencia uma equipe de desenvolvedores, que nunca foi desenvolvedor, está em uma situação difícil. Por esse motivo, pode haver um problema de respeito / confiança.
Randall Minder
97
Em relação ao equipamento: sua equipe provavelmente custa cerca de US $ 100 / hora. Se eles dizem que precisam de algo, uma máquina, um livro, outro monitor, uma cadeira, uma mesa, um fone de ouvido, compre. Se você não tem autoridade para essas despesas triviais, espere uma rotatividade contínua.
Kevin cline
22
Meu gerente me leva para almoçar e paga por isso, mas não se atreve a pedir minha opinião; em vez disso, ele fala sobre o quão ruim foi seu último local de trabalho. Francamente, talvez seja melhor ele não perguntar, porque as decisões estão sendo tomadas no exterior de qualquer maneira e essas são muitas vezes estúpidas, IMO. O que quero dizer: não basta ter 1: 1 ou levar alguém para almoçar. É preciso fazer perguntas diretas, mas também demonstrar a capacidade de fazer alterações razoáveis. Sem isso 1: 1 é inútil.
27
Esse é o núcleo dos seus problemas IMHO ... Se sua primeira bandeira vermelha for um desenvolvedor sênior que deixa a empresa após uma reunião de confronto com a gerência, você precisa obter algumas novas bandeiras vermelhas. Os que trabalham com um grão mais fino de problema. Converse com os outros desenvolvedores solo, comece com um com quem você tenha melhor relacionamento. Pergunte a eles por que ele estava infeliz, mas também pergunte. Quando eles souberam que ele estava infeliz o suficiente para pensar em desistir e como eles sabiam disso. Pergunte como você poderia ter notado, que sinais eles acham que ele lhe deu e que você perdeu para saber que já era um problema tão grande. Você precisa ver os problemas primeiro.
Eric Brown - Cal
29
"Como posso melhorar a comunicação com os programadores sem ser intimidador e repetitivo?" Sua preocupação em ser intimidadora e repetitiva revela que você acha que "melhorar a comunicação" é algo que você faz falando mais. Errado. Fale menos. E quando você falar, faça perguntas. Pergunte se eles têm o que precisam para fazer bem seu trabalho. Pergunte se os prazos são razoáveis. Pergunte se eles estão se sentindo super ou pouco desafiados. Em seguida, atente às preocupações deles - se eles perceberem que responder a suas perguntas gera uma mudança real, eles começarão a se comunicar de maneira proativa e você não será flagrado novamente.
Michael Ames

Respostas:

331

Uau! Obrigado por perguntar. Tecnicamente, como você, acho que sou gerente, pois passo muito mais tempo comunicando e liderando equipes do que escrevendo código ... mas aqui está minha opinião dos dois lados do horizonte de gerenciamento. Seja um desenvolvedor ou gerente trabalhando para outro gerente, eis algumas coisas que ajudam na minha comunicação com meu gerente:

  • Por quê? é uma pergunta muito importante - quase todas as respostas factuais têm um "porquê" e esse "porquê" pode muito bem ser mais importante do que a pergunta real. Há algumas tangentes nisso:
    • O desenvolvedor Por que - os desenvolvedores terão muitas respostas que não fazem absolutamente nenhum sentido para o gerenciamento. Certamente sim, e uma das maneiras pelas quais eu entrei na gerência estava sendo muito boa em explicar os "porquês" das equipes em termos que a gerência podia entender. Se você não tem um "orador para os geeks" em mãos, pode aprender a falar nerd, reafirmando suas respostas à pergunta por que em metáforas mais comumente entendidas. Continue assim até você entender e concordar com o que está acontecendo.
    • A Gestão Porquê- o seu "porquê" é tão importante. Por que você precisa das estimativas de tempo? Para que você os está usando? Como seremos ferrado como empresa se eles forem muito altos ou muito baixos? Isso é algo sobre o qual você, como gerente, provavelmente tem uma grande percepção, mas tudo isso é vodu para o desenvolvedor. O truque é que o desenvolvedor não pode perguntar. A gerência pediu algo e ele fará o melhor possível para ser preciso, oportuno e atencioso - mas se ele não souber o "porquê", poderá otimizar da maneira que você preferir que não. Ofereça o seu porquê e peça para ele fazer a mesma coisa - reafirme a resposta nos seus próprios termos.

Sobre as estimativas de tempo especificamente - eu tive que fazer uma tonelada e eu absolutamente lucrei ao dizer à minha equipe de desenvolvimento "Eu preciso disso porque vou pedir mais dinheiro para pagar nossos salários, vou confiar no que você me diz e Usarei seus números ... isso significa que, se você me rebaixar, estamos todos ferrados porque não poderei pedir dinheiro pela segunda vez - temos que viver com o que propomos ". Nesse contexto, os desenvolvedores mudaram de estimativas baixas, que tentavam me mostrar o quão confiantes e brilhantes eram, para estimativas altas, muito mais próximas do cenário de expectativas reais.

  • Ninguém está errado - a pergunta "por que" fica longa com um corolário - perguntando "por que" em vez de dizer "isso é ultrajante! De jeito nenhum!" mantém a conversa fluindo. Às vezes, há uma desconexão severa entre o que alguém está pedindo e o que o solicitante está perguntando. Minha melhor administração ficou terrivelmente surpresa com minhas respostas e, quando surpresas, elas piscam de espanto e depois perguntam "por que você diz isso?". Eles não dizem (imediatamente) - "você precisa mudar isso". Reduzi o número de propostas para atingir uma meta competitiva, mas somente depois de falar intensamente sobre como poderíamos mudar o cenário e criar um contexto diferente para a pergunta.

  • ouça o ruído ambiente, a escolha das palavras e o espaço entre as palavras . Aqui estão algumas coisas que eu gostei e roubei para usar:

    • fique na área de trabalho, faça algo produtivo (não tente entrar no trabalho de desenvolvedor, eles sabem que você não é um desenvolvedor) e apenas ouça. Como a equipe resolve problemas? Quais são os grandes problemas deles? Você nunca ouvirá o verdadeiro magrelo ao avaliar diretamente você ou a gerência em geral, mas poderá ter uma boa noção de onde estão as áreas problemáticas. Verifique se você está fazendo algo próprio que é produtivo. Ninguém gosta de espionagem, mas, a menos que o moral seja tão baixo que você não possa estar perto deles sem que todos evacuem, a produtividade nas proximidades deve ser tolerável.
    • procure por opções de palavras - elas geralmente são tão importantes quanto as próprias palavras. Quando utilizo palavras particularmente positivas ou negativas, minha gerência frequentemente me pergunta por que escolhi essas palavras quando é uma situação em que não estão familiarizadas.
    • procure pausas, lacunas e linguagem corporal. Se houver uma distância de poder entre você e os desenvolvedores (e parece que existe), eles podem não querer contradizê-lo ou confrontá-lo. Mas o instinto básico de dizer "ei, você está errado" geralmente se manifesta em algum lugar.
  • abra o maior número possível de meios de comunicação - esteja pronto para conversar pessoalmente, por telefone, por email, por IM - tudo e qualquer coisa para estabelecer o fluxo da comunicação. As pessoas são tão diversas que apenas um truque não funciona. E vejo como trabalho do gerente ser o comunicador multiformato, não o desenvolvedor.

  • faça com que valha a pena conversar com você Se alguém lhe falar sobre um problema e talvez uma possível solução, ele deve e provavelmente aceita que você é o gerente e, portanto, pode decidir em favor de uma solução diferente ou nenhuma solução porque você não acho que vale a pena. Mas depois da terceira vez, isso acontece, especialmente se acontecer sem uma explicação, cerca de 99% das pessoas vão parar de lhe dizer qualquer coisa.

E aqui está uma que é incrivelmente difícil para mim, mas funcionou muito bem quando eu posso fazer isso - esteja ciente da diferença entre introvertidos e extrovertidos . As chances são de que você é extrovertido - é por isso que seu trabalho parecia bom e uma posição de desenvolvimento não. Os desenvolvedores são, na maioria das vezes, introvertidos. "Introvertido" não significa "não pode se comunicar", mas significa que seu padrão, processo e velocidade são significativamente diferentes e o desejo de se comunicar incessantemente é praticamente inexistente. Planeje o tempo e o espaço silencioso (mas colocado) para permitir que pensamentos introvertidos sejam divulgados. Muitos dos meus amigos introvertidos me dizem que estão apenas esperando que eu "cale a boca por 5 minutos" para que eles possam pensar e responder. Aqui'5 coisas que os extrovertidos devem saber sobre introvertidos e Rands em Repose on the Nerd Cave - um exemplo particularmente desenvolvedor do que é ótimo para introvertidos . A propósito, Rands é bastante fantástico. Ele próprio é um nerd, então trata disso do foco do desenvolvedor, o que pode ser desconcertante se esse não for o seu estilo, mas ele é engraçado e tem algumas idéias realmente boas sobre o desenvolvimento da equipe.

Eu acho que as coisas # 1 que eu mais amei nos meus gerentes favoritos foram:

  • eles estavam tão profundamente comprometidos e empolgados com o projeto quanto eu (se não mais)

  • Eu nunca tive uma dúvida de que eles estavam nas minhas costas - eu sabia com certeza que, quando estavam na frente do próximo nível de autoridade, eu (ou meus colegas) nunca seria a bode expiatória. Seria sempre uma falha de grupo, se houvesse falha.

  • Recebi a propriedade de algo significativo e apropriado para minhas habilidades na época, mas com recursos suficientes para expandir minhas habilidades e realizar o trabalho.

  • eles me viam como indivíduo e como parte da equipe - estavam envolvidos ativamente em conhecer meus pontos fortes e fracos e trabalhando para me ajudar a aproveitar meus pontos fortes e aumentar meus pontos fracos.

  • eles estavam cientes dos meus objetivos pessoais e interessados ​​em incorporá-los o máximo possível

  • eles foram francos ao me fazer feliz não poderiam e não seriam uma prioridade. Há um valor real em ouvir "Eu sei que você odeia esse tipo de trabalho, mas eu preciso que você faça isso - eis como não será para sempre ...".

  • sempre havia tempo em uma semana (talvez não no momento) para explicar o quadro geral

  • havia feedback e status quase constantes, sem apontar o dedo, mas com bastante reconhecimento pelo trabalho individual.

  • sempre havia a verdade. Se alguma coisa era sensível e não podia ser discutida, eles diziam que não. Se algo estava incerto, eles davam um nível de confiança.

bethlakshmi
fonte
14
O problema com os introvertidos é que nem sempre lembramos que os extrovertidos também não são psíquicos.
precisa
2
oh espere, este não era um post no blog - ainda estou em programadores! Bom trabalho!
Xeoncross
17
Deve haver um botão +10 em algum lugar ...
Marjan Venema
3
Obrigado gangue! Não posso dizer como é bom ver comentários como esses! Isso me mantém escrevendo! :)
bethlakshmi
3
Alguns adolescentes, comunicando-se por voz, não convidam outros adolescentes nem falam sobre coisas de relacionamento. Dê a eles mensagens de texto e eles dirão coisas ridiculamente íntimas. De maneira semelhante, todos nós iremos. É por isso que as mensagens de texto são tão onipresentes quando é muito mais difícil se comunicar por elas. A questão é que abrir todos os canais é uma necessidade.
Kzqai
160

A parte mais fácil primeiro: há uma bandeira vermelha técnica em seu post: Tremo com a sua menção de "estimativas equivocadas" - é uma estimativa, NÃO PODE SER ERRADA , é por isso que é chamada de estimativa. Pode sair um pouco, pode sair muito, é por isso que é chamado de estimativa. Se você está considerando estimativas como evangelho, esse será um dos principais problemas que "seus" desenvolvedores estão tendo com seu estilo.

No entanto, concordo 100% com você sobre a dificuldade de se comunicar com os desenvolvedores. Eu tive uma revelação há vários anos, como desenvolvedor de um treinamento em gerenciamento de projetos. Eu vi vários de meus colegas desenvolvedores absolutamente protestando contra o gerenciamento depois que uma atmosfera aberta de discussão foi criada (o gerenciamento estava presente aqui). Tudo o que estava errado era culpa dos gerentes aos olhos dos desenvolvedores. O ponto principal foi que a gerência não tinha idéia de quase todos os grandes problemas levantados naquele dia. Os desenvolvedores estavam assumindo que tudo era tão óbvio que o gerenciamento não poderia ter esquecido, e o gerenciamento estava assumindo que os desenvolvedores lhes diriam o que precisam.

Portanto, IMHO, a primeira parte da resposta deve ser informar seus desenvolvedores que você não é psíquico e, na verdade, provavelmente completamente estúpido quando se trata do lado técnico. Você está confiando, contando e confiando neles para chegar até você em tempo hábil. Você está lá para facilitar a vida deles, não mais difícil.

E faça o que fizer, NÃO faça perguntas para as quais você realmente não quer saber a resposta - referindo-se às "estimativas equivocadas" acima ;-). É a criptonita de um desenvolvedor.

Joris Timmermans
fonte
5
Isso indica que os desenvolvedores geralmente precisam ser mais assertivos. Muitos têm medo de conversar com "os processos" e, portanto, nunca levantam as questões que precisam ser levantadas. Pedir coisas aos gerentes, mesmo exigindo, faz parte do trabalho.
21811 Kristopher Johnson
7
Ao mesmo tempo, os desenvolvedores podem não perceber que o gerenciamento está interessado em ouvir e, portanto, não se incomodam.
Jhocking
5
A regra de ouro antiga para transformar uma estimativa em uma data de entrega é multiplicá-la por 400%. As estimativas geralmente esquecem de incluir toda a codificação auxiliar, e é fundamental que um gerente de desenvolvimento saiba quanto amortizar as estimativas, em vez de tentar obter números mais precisos em primeiro lugar.
STW 14/07
11
@ Charles E. Grant: "todos precisam de encontros difíceis" ... Embora sejam verdadeiros; estimativas iniciais são mera fantasia. Um gerente que faz compromissos financeiros graves sem trabalhar com o software em mãos está agindo de maneira imprudente. Culpar os desenvolvedores pela imprecisão erra o objetivo. Assumir compromissos com base em "estimativas" geralmente é um mau negócio.
21711 S.Lott
4
@ -S. Scott, garoto, trabalhei em uma grande empresa de software para embalagem retrátil e em alguns pequenos empreiteiros de software, e nunca vi nenhum deles usar sua abordagem sugerida. Certamente reduziria o risco para a empresa que está desenvolvendo o projeto, mas ignora os riscos para os clientes: concorrência, janelas de mercado, requisitos regulatórios etc. Nunca vi alguém oferecer um contrato para desenvolvimento personalizado sem um cronograma especificado. Você contrataria um empreiteiro para uma reforma da casa sem ter algum tipo de compromisso quanto ao tempo que o trabalho levará?
Charles E. Grant
69

Há muitas coisas boas aqui, mas eu sinto que o seguinte precisa ser dito .. ..Desculpe ser severo .. Mas isso precisa ser dito:

  • Cinco anos como PM, e não saber de que tipo de PC um desenvolvedor precisa, é escandaloso.
  • Ter um desenvolvedor demitido por causa das más condições de trabalho como sua primeira bandeira vermelha real é uma loucura.

O que acho que você tem é um problema de confiança , mais do que um problema de comunicação. Ninguém diz o que está errado, porque não confia no que você fará com essas informações e pode até temer que elas sejam usadas contra eles. O desenvolvedor que falou sobre todos esses problemas o fez porque, como não havia consequências, ele estava desistindo.

Pessoalmente, nunca contrataria um primeiro-ministro que não tivesse experiência em desenvolvimento. Penso que no seu próximo projeto, você deve dedicar uma pequena parte do seu tempo como parte do desenvolvedor. equipe . Diga 8 horas por semana, trabalhando como desenvolvedor Jr sob o líder da equipe.

Isso realmente abrirá seus olhos para a dinâmica de uma equipe de desenvolvimento, porque agora, você nem faz parte dessa equipe, é um outsider. O fato de você ter desistido do seu emprego foi um choque para você, prova isso. Todos na equipe sabiam que ele estava infeliz. E nenhum deles lhe disse:

"Nós vamos perder nosso padrinho se você não fizer algo"

Essa deve ser a bandeira vermelha # 2.

idiotas
fonte
10
Por outro lado, talvez o desenvolvedor sênior fosse uma ferramenta, e todos os outros desenvolvedores estavam apenas esperando ele sair. Há muito contexto não divulgado na pergunta que você supõe que entende.
precisa saber é o seguinte
"Ninguém diz o que está errado", absolutamente verdade.
Buzz
37

Como gerente, tenho certeza de que você já ouviu falar sobre kaizen , um dos princípios do Sistema Toyota de Produção, que significa melhoria contínua .

Você admitiu que tem um problema, então é um ótimo começo.

O Kaizen possui cinco elementos principais:

  • Círculos de qualidade : Grupos que se reúnem para discutir níveis de qualidade relativos a todos os aspectos do funcionamento de uma empresa.

  • Moral melhorada : a moral forte entre a força de trabalho é uma etapa crucial para alcançar a eficiência e a produtividade a longo prazo, e o kaizen a define como uma tarefa fundamental para manter contato constante com a moral dos funcionários.

  • Trabalho em equipe : Uma empresa forte é uma empresa que reúne todos os passos do caminho. O Kaizen visa ajudar os funcionários e a gerência a se verem como membros de uma equipe, e não como concorrentes.

  • Disciplina pessoal : Uma equipe não pode ter sucesso sem que cada membro da equipe seja forte em si. O comprometimento com a disciplina pessoal de cada funcionário garante que a equipe permaneça forte.

  • Sugestões para melhoria : Ao solicitar feedback de cada membro da equipe, a gerência garante que todos os problemas sejam analisados ​​e resolvidos antes que se tornem significativos.

( Fonte )

Se você der uma olhada longa nisso, uma constante sobre esses elementos é a ênfase no trabalho em equipe e no feedback.

Um exemplo, você diz que teve uma discussão ao longo do tempo. Você é o responsável por essas estimativas de tempo? Você fala com a equipe sobre isso? Sinto muito, mas vi os gerentes apenas tirar um número do seu as-. Uma coisa crucial: nunca pechinche com o tempo as estimativas que sua equipe fornece a você. Muitos gerentes imaginam que, se puderem cumprir prazos mais curtos, se a equipe trabalhar mais. Isso é uma mentira. Nove mulheres não podem ter um bebê em um mês, lembre-se disso.

Então, meu primeiro conselho:

Ouça : comece com um e-mail simples para a equipe: "Qual é a melhor maneira para a equipe de desenvolvimento dar feedback à gerência sobre o desempenho da gerência?". Itere com a equipe e implemente o consenso. Sua tarefa é permitir que a equipe desenvolva um ótimo software, não agrupá-lo. Mantenha isso em mente.

Honestidade e lealdade : se ninguém responde quando você pergunta alguma coisa, é porque eles não acreditam que você ouvirá ou, pior ainda, acreditam que você os punirá por isso. Então seja honesto. Se alguém disser que você é péssimo, tome isso como um feedback e não se vingue. Entenda suas razões, melhore-as.

E, finalmente, embora eu tenha visto algumas críticas sobre isso aqui, eu gostaria de recomendar que você leia um livro chamado The Mythical Man-Month: Essays on Engineering Software . O livro é sobre a experiência de Fred Brooks na IBM enquanto gerencia o desenvolvimento do OS / 360. Embora algumas coisas aqui e ali possam ser datadas, é o passo inicial para entender como funciona o processo de desenvolvimento de software complexo. S.Lott cita o Manifesto Ágil , que não gosto muito dele, mas também vale a pena ler.

Vitor Py
fonte
7
+1, Mítico Homem-mês. Esse livro pode ser antigo, mas nunca está desatualizado.
David Hammen
Além disso, a Anniversary Edition adiciona um excelente material novo para os anos noventa. Espero que eles produzam uma edição do 40º aniversário em 2015. * 8 ')
Mark Booth
3
Nada mata o moral mais rápido do que mentiras. A maior mentira que a gerência diz é "Você não precisa do XYZ para fazer seu trabalho". Como eles podem saber melhor que você? Portanto eles mentem, portanto não há confiança, portanto não há moral. substitua o XYZ por "monitores, software, hardware mais rápido, servidores, comida, área de trabalho silenciosa, grandes quantidades de espaço na mesa, quadro branco, sala de descanso com alimentos que não sejam açúcar, horário flexível, etc ..." Quando o gerenciamento não acontece saia e pergunte especificamente: "o que você precisa para fazer seu trabalho bem, quero dizer, eu o farei", eles implicitamente não querem. Sem moral.
Christopher Mahan
Outro livro que vale a pena olhar é Peopleware, de DeMarco e Lister. Se você conseguir internalizar o que está lá, começará a construir relacionamentos muito melhores com suas equipes.
Alger
26

Leia isso:

http://agilemanifesto.org/

  • Indivíduos e interações sobre processos e ferramentas

  • Software que trabalha sobre uma documentação completa

  • Colaboração do cliente sobre negociação de contrato

  • Respondendo a mudanças após seguir um plano

Em muitos casos, a organização (seu chefe) exige que você

  • siga um processo claramente quebrado até sua conclusão lógica, levando a uma "marcha da morte". Por sua vez, isso leva a argumentos e renúncias.

  • crie documentação excessiva, de baixo valor e não utilizada.

  • envolver-se em um complexo controle de mudanças a / k / a negociação de contrato. Toda mudança de usuário requer um ritual elaborado para "qualidade" e "priorizar" a mudança. Realmente, é tudo sobre o "congelamento" - impedindo mudanças.

  • siga o plano independentemente das consequências. Algumas organizações valorizam a entrega pontual de software quebrado (ou mesmo inútil). É o plano que é valorizado, não a solução de um problema de negócios.

Pode ser que o problema não seja suas habilidades de comunicação pessoal.

Pode ser que todo o "ambiente" ou "metodologia" de desenvolvimento esteja fatalmente quebrado, e os maus sentimentos sejam apenas um sintoma de más práticas gerais.

S.Lott
fonte
3
Acho que o Agile pode ajudar, mas certamente parece que há um problema de comunicação aqui que precisa ser corrigido. Honestamente, ele não sabia que máquinas ruins estavam causando dor legítima. Isso é dos desenvolvedores por não levantar a questão.
21711 Andy
@ Andy: Uma organização tóxica é frequentemente a causa raiz da má comunicação. As pessoas querem se comunicar. No entanto, um gerente de nível superior pode facilmente impedir isso recompensando o silêncio e punindo a comunicação.
21411 S.Lott
3
@ S.Lott: Nem todo mundo quer "se comunicar".
precisa
3
@ S.Lott: Nem todo mundo quer se comunicar. E mesmo que o façam, nem todos se comunicam de maneira eficaz, o que parece ser o caso nesta organização.
Andy
1
"A verdadeira comunicação só é possível entre iguais, porque os inferiores são recompensados ​​de maneira mais consistente por contar mentiras agradáveis ​​a seus superiores do que por dizer a verdade."
Benjol
22

Para mim, parece que você nunca conversou com os desenvolvedores em um ambiente fácil. Suas conversas com eles eram meramente de natureza oficial? Isso é ruim.

Por que você não os conhece pessoalmente e, assim, conhece o que é bom e o que há de ruim na empresa, no local de trabalho e nos projetos? Respeite-os e conquiste seu respeito, demonstrando sincero interesse e apreço pelo seu trabalho.

Se eles confiam em você e não precisam temer ser ofertas de peões, provavelmente dirão até verdades pouco atraentes.

Sou líder de equipe e minha equipe confia em mim. Eu os protejo. Eu assumo toda a culpa e compartilho a fama com eles. Nossa gerência me protege. Isso aumenta o moral. Tínhamos um projeto muito difícil e um cliente quase ruim, quase impossível de terminar, mas acabamos fazendo isso porque conversamos sobre tudo de uma maneira muito franca e aberta.

Falcon
fonte
Citação muito boa: "Eu assumo toda a culpa e compartilho a fama com eles".
Jared Burrows
20

Aplaudir! Aplaudir! Aplaudir! Você certamente deve ser uma boa pessoa, pois saiu em aberto para ver o que pode ser feito para melhorar seu trabalho.

Veja abaixo o que testemunhei em um ótimo gerente e adotei pessoalmente quando lidero a equipe como membro sênior.

  • M entor mais de gerenciar.
  • A membros da equipe lLow de expressar seus pensamentos e preocupações. Seja todo ouvidos para isso. Tome os construtivos.
  • N nunca trair os membros da equipe, jogando política divisória. Isso dispara mais cedo e silenciosamente.
  • Nem um pouco. Nunca faça caretas quando estiver com sua equipe, aconteça o que acontecer. Este é realmente difícil.
  • G enuinely e abertamente apreciar o vencedor para sua / seu bom trabalho. Na mesma amplitude, de maneira suave e taticamente, o trabalho não é cometido por nenhum erro, para a pessoa responsável, isoladamente e não ao ar livre.
  • E propriedade ncourage e liderança em cada indivíduo. Isso aumenta o moral e o comprometimento da pessoa, porque ela se sentiria respeitada.
  • R OAM ao redor com sua equipe de vez em quando. Este induz / aumenta a ligação entre os membros da equipe.

Desejo-lhe boa sorte em seu esforço sincero :)

karthiks
fonte
2
Sim, ele certamente deve ser uma boa pessoa . Eu odeio pessoas más.
Xeoncross
Também poderia disparar de forma explosiva;) #
Wayne Werner
23
Não use siglas como essa para se comunicar com seus subordinados.
RMorrisey
16

Em geral, os caras nas trincheiras começam a se sentir amotinados quando sentem que suas queixas não estão sendo ouvidas por pessoas que podem e irão corrigir as situações. Quando eles nem sentem que podem se queixar sem arriscar sua posição na empresa, isso é ainda pior.

Eu sou um cara meio teórico-Y, e a maioria dos "trabalhadores do conhecimento" costuma ser; Se pudermos, gostamos do nosso trabalho e queremos fazê-lo bem. No entanto, a desvantagem de um local de trabalho da Teoria Y é que pode não ser imediatamente aparente que há um problema, porque as pessoas, querendo se sair bem e, portanto, não desejando causar ondas, encontrarão maneiras de contornar esse problema ou simplesmente o ignorarão. Isso leva à frustração reprimida, que eventualmente explode no rosto de toda a equipe. Uma loja administrada por um gerente da Theory-X provavelmente teria caras que reclamaram muito antes; os funcionários só estão envolvidos pelo dinheiro; portanto, se o trabalho for mais do que o normal, eles se queixam.

Quanto ao que você pode fazer, em um ambiente com idosos e lideranças na sala fazendo o trabalho, eles são seu melhor patrimônio. Fale com eles. Você pode agendar 30 minutos por semana para "bidirecional", onde os leads fornecem atualizações e preocupações sobre o dia-a-dia do projeto, além de atualizações no lado comercial e planejam com eles para resolver problemas. antes que se tornem problemas que afetam seriamente a equipe.

No Agile, no final de cada "sprint" ou "iteração" (que é uma unidade de trabalho de desenvolvimento que geralmente dura entre uma e três semanas), toda a equipe, dos membros mais jovens até o PM, tem uma "retrospectiva " Eles olham para o que fizeram, o que deu certo, o que não fez e identificam coisas para continuar fazendo e coisas para mudar. Existem vários formatos, e você pode inventar o seu, mas o resultado do retro deve ser que as pessoas sentem que sua voz foi ouvida e que as coisas mudam como resultado.

Falando sobre Agile; meu primeiro trabalho foi em uma pequena empresa e, por "pequena", quero dizer que toda a empresa não conseguiu um time de softbol. Havia quatro programadores quando eu comecei, e isso diminuiu para dois antes de eu sair. O fundador, presidente, CEO e 95% das partes interessadas na empresa decidiram com um punho de ferro, e ele era a única fonte de planejamento na organização, o que significa que não havia muito. O chefe era viciado em trabalho e esperava que todos os outros também fossem; Tudo o que você tinha para dar era mais ou menos do que a expectativa dele e, por isso, ele pagou um salário básico para as pessoas que trabalhavam para ele há uma década.

Deixei a empresa e comecei a trabalhar para outra empresa que fazia as coisas MUITO diferente; eles praticaram a metodologia básica do SCRUM Agile, com standups diários, programação de pares, equipes de sprint e retrospectivas. Durante um dia a cada duas semanas no início de cada corrida, não fizemos nada além de planejar o trabalho das próximas duas semanas. Por uma grande parte de outro dia, não fizemos nada além de relembrar o que havíamos feito e encontrar maneiras de melhorar como equipe. Havia desenvolvedores sentados ao meu lado que eram MVPs da Microsoft, concluindo o trabalho e incentivando e complementando o que eu estava fazendo.

Noite. E. Dia. A principal diferença? Primeiro, eu não achava que deveria me matar pelo projeto; Um princípio fundamental do Agile é o ritmo sustentável do desenvolvimento. Segundo, tive voz para decidir como seria de esperar que eu fizesse meu trabalho. Eu tinha que fazer o trabalho, mas se eu tivesse "azia" sobre o que seria esperado no próximo sprint, eu poderia expressar essa opinião e ela seria ouvida e receberia peso. Se eu achava que havia uma maneira melhor, eu poderia dizer isso e seria divertido.

Quanto a encontrar soluções e resolver problemas, você deve tomar cuidado para não parecer que está trabalhando de cima para baixo. Para computadores; digamos que seu RMR (receita mensal recorrente) permite apenas que a empresa atualize quatro computadores a cada duas semanas. Os quatro primeiros computadores nem todos devem ir para os leads e idosos; eles devem ir para as pessoas com os computadores mais lentos. Se você der bônus à equipe, não os dê apenas a "nossos valiosos idosos e líderes, sem os quais isso não seria possível"; TODOS na sua equipe de desenvolvimento fizeram isso acontecer. Se um júnior tiver uma reclamação, ouça-o; só porque ele é um júnior não significa que ele não sabe de nada.

KeithS
fonte
1
Qual é o traço de personalidade do Tipo Y que você está falando? Tem um link para mais detalhes?
21411 Tylermac
3
Menos personalidade Tipo Y e mais estilo de gerenciamento Tipo Y. Consultar os gerentes Tipo X vs Tipo Y; basicamente, os gerentes do Tipo X acreditam que as pessoas são motivadas principalmente pelo dinheiro que um trabalho fornece, enquanto os gerentes do Tipo Y acreditam que as pessoas geralmente são motivadas pelo cumprimento de um emprego. A verdade para a maioria dos trabalhadores está no meio, mas a maioria dos estilos gerenciais se inclina de uma maneira ou de outra.
Keiths
3
O termo apropriado para o Google é a Teoria X e Teoria Y.
Mark Canlas
11

Melhorar as relações:
Acabou de ter um projeto difícil? Dê-lhes uma pausa depois. Tempo de férias para relaxar, recuperar o fôlego.
Declaração de direitos dos codificadores Essas coisas são um dado. Coisas básicas que devem ser evitadas. Se você violar isso, estará abusando das suas chaves de código.
O teste de Joel eu concordo com a maioria deles. Mas alguns realmente dependem. Se você está sentindo falta de algum, provavelmente está dificultando a vida de seus programadores, então precisa ser.
Dívida técnica . Portanto, você pode pressionar pela conclusão, mas precisa entender que, ao cortar custos, incorre em dívidas técnicas que levarão mais tempo em uma data posterior para serem corrigidas. Se essa data chegar antes do final do projeto, você realmente estragou tudo.
Animação RSA: MotivaçãoEssa é uma parte fantástica que realmente mostra como motivar os profissionais do conhecimento.
Dia livre para codificar o que eles querem. Do vídeo da RSA. Não se lembra do nome, mas a empresa mencionada tem uma breve explicação sobre ele no site. Parece uma boa ideia para mim. Na maioria das lojas, há coisas que todo mundo sabe que estão presas, mas ninguém tem tempo para consertar, e isso não é uma alta prioridade. Isso permite que eles enfrentem dívidas técnicas. Também lhes permite mostrar suas idéias brilhantes.

E pelo amor de Deus, tente manter uma semana de trabalho de 40 horas. Além disso, horário flexível. O Flextime pode compensar um mundo inteiro de besteiras. Para mim pelo menos.

Melhorar a comunicação entre programadores e chefes
Isso é mais difícil para mim. Essa coisa toda shmoozing é mais um conjunto de habilidades de chefe, em seguida, o foco de um programador. Eu poderia dizer que algumas coisas básicas, como estimativas de tempo, são apenas estimativas. Andar na água e cumprir os requisitos são fáceis se estiverem congelados. Talvez pedindo aos programadores tímidos que apresentem seu projeto em uma revisão de código ou algo assim. A prática leva à perfeição, não é? Mas eu me curvaria ao conselho dos outros sobre este.

"Da mesma forma, se você odeia, descreva em detalhes o porquê."
Bem, isso vai abrir as comportas aqui. E se eu não estivesse usando um openID que obviamente poderia estar vinculado a mim, provavelmente também desabafaria. Se você realmente deseja uma lista gigante do que não fazer, pergunte em um fórum mais amigável para postagens anônimas.

Philip
fonte
Motivação é bem vale a pena olhar, vou tentar cobrir muitos dos seus ponto em minha resposta a uma questão relacionada: programmers.stackexchange.com/questions/87321/...
Mark Booth
8

Eu sempre achei que as pessoas em geral não o tratam melhor do que você as trata (embora elas possam te tratar pior). Pessoalmente (sou desenvolvedor), respondo à honestidade com honestidade, ao respeito com respeito, à confiança com confiança e assim por diante. Você deve ter uma conversa informal com sua equipe em um ambiente neutro e contar o que acabou de nos contar. O ponto que é esquecido nos ambientes tóxicos "nós versus eles" é que todos deveriam ser "nós". Tanto a gerência quanto os funcionários precisam saber disso, e a empresa deve apoiar isso.

Boa sorte.

PSU
fonte
7

Agora você tem um histórico comprovado de não apenas aceitar feedback, mas agir de acordo com ele. Você demonstrou ter influência com tomadores de decisão mais elevados e pode fazer as coisas para sua equipe. Isso faz uma grande diferença. Os programadores podem ser mais introvertidos, mas gostamos de falar sobre programação. Um ambiente informal é agradável, mas todos ainda precisam ser profissionais. Permita que as pessoas desabafem um pouco, mas certifique-se de que as discussões sejam produtivas e não apenas uma sessão de putaria.

JeffO
fonte
3
+1 por aceitar feedback e agir de acordo com ele. Possivelmente as coisas mais importantes que um gerente pode fazer.
PSU
1
A implicação não declarada dessa resposta é que você começou a aceitar e agir com base no feedback; portanto, continue fazendo a coisa certa. Os problemas de comunicação muito reais que você levantou provavelmente significam que seus desenvolvedores ficaram agradavelmente surpresos ao saber que você é um dos grandes gerentes que aceitam e agem com base no feedback; continue respondendo bem aos comentários e eles continuarão lhe dando mais comentários.
Jhocking
7

Pela minha experiência, o fator mais significativo para eu gostar ou não do meu gerente é se ele / ela entende o desenvolvimento em geral e entende o trabalho que estou fazendo. Alguns resultados positivos estão listados aqui:

  • Não preciso perder muito tempo para justificar por que uma mudança levaria tanto tempo ou não pode ser implementada. Bem, tecnicamente, qualquer mudança pode ser implementada e a alta gerência geralmente exige a implementação de qualquer maneira. Mas, pelo menos nessa situação, seu gerente direto está do seu lado, pedindo mais tempo (em vez de empurrá-lo ou esgotá-lo).
  • Sei que tenho mais chances de receber suporte em caso de uma situação ruim (um hack do WTF, um problema de produção etc.). Geralmente, uma pessoa não técnica tende a culpar o desenvolvedor por essa situação, enquanto um bom gerente entende o que realmente está acontecendo e apóia seu desenvolvedor (não apenas sabe ou está disposto a agir dessa maneira por ser legal).
  • Eu sei que meu trabalho e desempenho devem ser avaliados por uma pessoa adequada.

Na minha opinião, se você não faz mais a programação e geralmente em um cronograma ou orçamento apertado, a chance de os desenvolvedores gostarem é muito baixa. Nesse caso, é melhor você avançar rapidamente e ter mais alguém para ser o gerente direto. Desculpe por parecer ruim neste parágrafo, mas é assim que eu vejo. Você parece ser uma boa pessoa e merece alguma verdade.

Codism
fonte
5

Eu também sou um dos rapazes de terno, e há mais de 15 anos. Eu era desenvolvedor de software quando comecei e ainda escrevo código quando tenho uma chance. Acho que posso falar pelos dois lados e tenho um pouco de experiência nessas situações. Também tenho credenciais, como "Empregado do ano", eleito pela equipe, que me deixam confiante em lidar com essas situações.

O que eu testemunho com frequência é que existem diferenças substanciais nos sistemas de valores e nos métodos / abordagens operacionais adotados entre gerenciamento e desenvolvedores.

Para muitos desenvolvedores, sinceridade, honestidade e um ambiente de trabalho flexível estão no topo da lista. Infelizmente, os mesmos valores não estão muito altos na lista da alta gerência. E isso leva inevitavelmente a enormes conflitos, principalmente se a gerência intermediária (você e eu) decidirmos assumir completamente o lado da alta administração. A única maneira de escapar disso (do meu ponto de vista) é adotando uma posição firme na frente de sua equipe, apoiando-a por todo o caminho e construindo um relacionamento de confiança por meio de comunicação aberta e, o mais importante, fazendo o que você está dizendo (que geralmente é o oposto do que você obtém da alta gerência, onde a política supera completamente a sinceridade).

Ao mesmo tempo, você precisa permanecer operacional, portanto, precisa encontrar uma maneira de se comunicar com a alta gerência em um idioma que eles entendam e joguem. Esse é o verdadeiro desafio da gerência intermediária.

wolfgangsz
fonte
5

Acredito que, com a felicidade dos desenvolvedores, a produtividade se resume a pequenas coisas. A matemática funciona muito bem para o gerenciamento. Dê-me um donut (-25 centavos) de manhã e trabalharei duas vezes mais o dia todo (+ muitos dólares). Não é que sabatemos ativamente as coisas trabalhando devagar quando estamos insatisfeitos, é que estamos trabalhando em sistemas extremamente complicados e é extremamente difícil focar quando estamos frustrados com alguma coisa. Provavelmente é realmente melhor não codificarmos tanto quando estamos com raiva.

As estimativas, no entanto, devem ser tratadas por elas mesmas. Todos os problemas que tenho podem ser resolvidos entregando-me uma rosquinha, com exceção das estimativas irrealistas . Verdadeiro ou falso, é assim que um desenvolvedor vê: o gerenciamento tem tudo a ganhar (como um barco novo) por uma estimativa mais curta, enquanto os desenvolvedores têm tudo a perder (como um mês de sono). A gerência está no comando, então eles vencem a guerra de estimativas sempre. Eu acho que o sistema de estimativa funciona melhor quando os desenvolvedores decidem o prazo (já é difícil o suficiente fornecer uma estimativa precisa, como seria um gerente?), Mas a gerência os motiva positivamente a serem ambiciosos, com o entendimento de que nenhum desenvolvedor é prejudicado estar um pouco fora.

Morgan Herlocker
fonte
1
+1 para rosquinhas. Na verdade, usamos bolo. Temos um bolo mensal que é para o aniversário de todos naquele mês (e apenas porque se não houver aniversários nesse mês). Todo mundo não só gosta de arrumar um bolo, como também se reunir e comer também oferece uma chance informal para que todos se reúnam e conversem. Isso inclui gerenciamento. Meu gerente e seu diretor comparecem e conversam como todo mundo. Isso ajuda muito na comunicação, porque você as vê como pessoas normais e não como gerentes. Eles também ouvem quando dois desenvolvedores começam a falar sobre computadores lentos sobre rosquinhas.
Tridus
@Tridus - sim, todo mês, o CEO e o COO da nossa empresa levam quem jantou de aniversário no último mês para jantar. Nem todo mundo gosta disso, mas em uma empresa com cerca de 250 pessoas e eu sendo um grunhido humilde, é muito legal sentar com o chefe do chefe do meu chefe e pedir que ele escolha meu cérebro sobre como poderíamos operar com mais eficiência.
23811 Morgan Herlocker
1
+1 em "Todos os problemas que tenho podem ser resolvidos entregando-me uma rosquinha, com exceção, exceto estimativas irrealistas".
KK.
4

Considere que tipo de reação você dá a um programador que possa ter uma pergunta, comentário ou preocupação. Existe um "O que você quer agora ?" ou "Por que você está me incomodando com isso ?" tipo de resposta? Você está incentivando os desenvolvedores a expressar preocupações e comentários? Esse é apenas um ponto de partida.

Em segundo lugar, tenha cuidado com o local onde você está tentando ter essas discussões. Duvido que eu fosse muito aberto discutindo minha máquina de trabalho com alguém no próximo cubo se soubesse que meu gerente estava ao alcance de ouvir a coisa toda. Se você deseja que as pessoas dêem feedback aberto e honesto, deve haver alguma privacidade para saber que suas respostas não serão divulgadas publicamente ou usadas contra elas.

Terceiro, considere que tipo de habilidades de Inteligência Emocional você possui. Inteligência emocional para gerentes de projeto: as habilidades necessárias para alcançar resultados extraordinários de Anthony Mersino seriam uma recomendação de livro que recebi ontem de um almoço e aprenda sobre EQ. Se você realmente quer se aprofundar na psicologia aqui, existem várias ferramentas de perfil de personalidade que podem ser usadas, por exemplo, Eneagrama, estilos sociais e MBTI.

Por fim, considere qual é a cultura em sua empresa. Erros são algo varrido para debaixo do tapete? As reclamações são um grande não-não, que poderia facilmente causar problemas a alguém? Quais comportamentos são recompensados ​​ou incentivados e quais são tolerados e aceitos? Embora parte disso seja observação, algumas delas também podem exigir algumas conversas que devem ser mantidas fora do escritório ou em uma sala onde provavelmente não haja escutas. Você provavelmente será repetitivo ao tentar usar isso no começo. Isso não é algo ruim se você estiver tentando estabelecer uma nova prática e convencer as pessoas a falarem se a cultura era principalmente uma onde todos sabiam "chupar". Isso pode ser mais sensível do que outras respostas, mas é isso que eu '

JB King
fonte
3

Os desenvolvedores acham que você é o advogado deles? Com isso, quero dizer que eles sabem que são livres para compartilhar com você suas preocupações / frustrações sem serem espancados? Eles sentem que você luta por eles? Eles acham que você aprecia o trabalho deles? Eles acham que você realmente deseja que eles tenham sucesso em sua carreira?

Se eles se sentirem apreciados, provavelmente terá uma melhor comunicação.

David Weiser
fonte
3

Como desenvolvedor, sou um grande nerd e carece de habilidades sociais e não peço desculpas por isso. Afinal, eu sou o talento, e você me contratou para o meu talento. Se você precisasse de redes sociais para fazer o trabalho, teria uma sala cheia de gerentes de projeto em vez de desenvolvedores.

Eu sei que alguns desenvolvedores são muito astutos socialmente, mas acho que a mediana se inclina para um nerd introvertido.

Quando alguém me pede para fazer algo, não faço inferências e faço exatamente o que é solicitado. Parece que, para alguns gerentes de projetos, eu sempre acabo com problemas, porque eles esperam que eu faça inferências sobre o projeto deles, o que eu absolutamente não farei, então, às vezes, as coisas não saem da maneira que esperam, embora sejam exatamente o que eles solicitaram. Acho que o motivo disso acontecer com alguns gerentes de projeto é que eles não fornecem HLDs, BRDs de alta qualidade e valorizam muito o aspecto social do gerenciamento de projetos, e não o preto e branco.

Eu acho que é aqui que os mundos colidem. Eu acho que no mundo do gerenciamento de projetos as habilidades sociais e a qualidade da sinceridade pessoal são fatores importantes, mas para desenvolvedores como eu, isso não significa absolutamente nada. Não me impressiona falar sobre o quão importante é essa ou aquela tarefa. Eu nem quero sair para almoçar ou beber cerveja, como algumas pessoas sugeriram aqui.

O que eu realmente quero são HLDs e BRDs de boa qualidade. Quero cronogramas e prazos que sejam alcançáveis ​​e, se novos designs ou planos forem introduzidos, desejo que o cronograma e os prazos sejam reajustados. Trabalhei em projetos em que os requisitos parecem mudar rapidamente - para mim, essa é a minha bandeira vermelha de que estou lidando com uma liderança de projeto de baixa qualidade. Como desenvolvedor, a pior coisa que você pode fazer é me trazer novos requisitos de projeto diariamente, especialmente depois que já temos um cronograma ou assumimos compromissos de cronograma. É intolerável quando novos requisitos são trazidos, sem compensação de prazos. Trabalhando mais horas, trabalhando até tarde, não tenho nenhum problema com isso, mas não é algo sempre quantitativo com o desenvolvimento. Algumas alterações podem levar algumas horas extras, algumas alterações podem levar semanas para pesquisa e desenvolvimento, testes, controle de qualidade, etc. adequados ... nem sempre é como assar um bolo; às vezes, uma única alteração nos requisitos pode ser como alterar toda a receita. Testemunhei os gerentes de projeto derreterem e terem acessos de raiva em teleconferências, porque seus prazos não permitirão um desenvolvimento extra, mas eles estão pedindo um desenvolvimento que não estivesse nos requisitos iniciais do projeto.

Só posso dar meu próprio viés pessoal e experiência como exemplo; portanto, não deduza que estou falando em nome de todos os desenvolvedores. Eu só vejo essas coisas através do microcosmo de minha própria carreira, mas este post descreve as condições exatas que me levaram a jogar a toalha proverbial.

Jesse Greathouse
fonte
2

Com que frequência você está conversando com seus desenvolvedores? Não me refiro a reuniões de status do projeto, perguntas sobre entregas ou outros tópicos que você traz para eles - com que frequência você se senta com um de seus programadores, pergunta como está as coisas e apenas ouve .

Muitas das outras respostas são realmente boas - você deve analisar o desenvolvimento ágil. Você precisa que seus desenvolvedores aprendam e cresçam em suas funções. Mas se você não está realmente ouvindo o que seus desenvolvedores estão dizendo (ou não estão!), Precisará cuidar disso primeiro.

Boa referência para particulares - http://www.randsinrepose.com/archives/2010/09/22/the_update_the_vent_and_the_disaster.html

John Christensen
fonte
2

Curto e grosso. Excel no que você faz - isso gera comunicação.

O que excelência significa para seus desenvolvedores? .. Leia, releia, sim, estude o PeopleWare

Stephen Bailey
fonte
1

Todas as ótimas idéias e comentários nos posts acima!

Aqui está uma idéia: envie sua equipe de TI para oficinas de comunicação em sua faculdade comunitária local - paga pela empresa, é claro.

Certifique-se de que a) as oficinas tenham boa reputação eb) não envie seus funcionários juntos. Eles tenderão a permanecer juntos e não se misturar com os outros alunos, não apenas reduzindo o valor das oficinas, mas causando perturbações nos demais.

A comunicação produtiva orientada para a equipe é uma habilidade que qualquer um pode aprender, mas é um assunto que sinto que falta na maioria dos caminhos escolásticos.

Essa idéia não é de forma alguma uma bala mágica, mas é uma boa peça fundamental do quebra-cabeça. Seus associados não apenas aprenderão a se comunicar melhor uns com os outros, mas o bônus será que eles começarão a entender e respeitar melhor SEU trabalho também (a comunicação está no centro do PM).

Apenas meus 2 bits :)

Martin S. Stoller
fonte
3
Isso pressupõe que o problema esteja com os programadores e não comigo ... ler as respostas acima já me proporcionou uma ótima percepção.
AgentSmith
1

Apenas para responder a uma recomendação que já está sendo apresentada em algumas respostas . Michael Lopp (aka rands ) escreveu sobre como gerenciar desenvolvedores e "entrar na cabeça deles" em seu blog, Rands in Repose , e em um livro, Managing Humans ( fontes de livros ). O livro contém principalmente conteúdo editado de suas postagens anteriores a 2007 e fornece uma boa maneira de acompanhar as partes relacionadas ao gerenciamento de seu blog (ele também fala sobre, por exemplo, jogos de azar e se você deseja ler isso é outra questão). Sua escrita é geralmente ótima e geralmente bem-humorada, então há pouco risco em lê-lo.

huitseeker
fonte
1

Leve a equipe para tomar cerveja (e você está comprando).

Graham Borland
fonte
2
Longe de todos os desenvolvedores, aproveite isso. Alguns têm outros compromissos que dificultam mesmo.
um CVn
+1: Você sabe ... Esta não é uma bala de prata (e você nunca disse que era), mas ainda pode curar feridas.
Jim G.
1

Estou atrasado para a festa, mas só vi essa pergunta.

Uma coisa que não vejo muito bem abordada é a seguinte:

Os grunhidos nunca dizem toda a verdade aos fatos. Rands diz isso no DNA, mas não o aborda de frente, ele está em um tópico diferente.

Você está vestindo um terno e assina os cheques. Você representa o interesse da empresa. Você não está representando os engenheiros. Se o fizesse, não assinaria os cheques deles, eles assinariam o seu.

Obviamente, isso não é novidade para você ou para os engenheiros. Porém, quando um engenheiro sabe que trazer à tona certos problemas - problemas - em seu local de trabalho causariam conflitos significativos - a troca de risco / recompensa não favorece o engenheiro. Os engenheiros são pagos para produzir produtos, não para iniciar brigas culturais no local de trabalho. Envolver-se nisso é um caminho rápido para fazer o trabalho errado.

Portanto, parte da tarefa de gerenciamento é fornecer uma maneira de os engenheiros serem abertos sobre problemas, sem incorrer em políticas corporativas e reação na carreira. É bom ter aumentos, depois de tudo, e não são outras empresas, se este não se sente agradável.

Paul Nathan
fonte
1

Estou surpreso que ninguém tenha mencionado este grande livro que trata exatamente de sua pergunta e assunto - "Peopleware: Projetos e Equipes Produtivos", de DeMarco e Lister . Do editorial: as principais questões do desenvolvimento de software são humanas, não técnicas . As três primeiras resenhas na Amazon seriam facilmente suficientes para me convencer a comprar este livro se eu estivesse na sua situação.

Matthieu
fonte
0

Muitas respostas aqui têm pontos muito bons, mas eu gostaria de acrescentar alguns recursos que podem ajudar. Eu já estive em algumas situações que se desintegraram em uma confusão gigante ou foram resolvidas com muita eficiência por causa da comunicação entre as pessoas envolvidas. Três livros me ajudaram a melhorar pessoalmente minhas habilidades de comunicação, especialmente em situações de alto estresse, onde há muita coisa em jogo:

Ao ler sua pergunta, acho que você vê o valor da comunicação. Pessoalmente, sinto que a comunicação é mais importante para um gerente ou líder do que habilidades técnicas ou comerciais. As pessoas que você lidera devem ter as habilidades necessárias para realizar a maior parte do projeto. Um bom líder técnico ou gerente de projeto deve ser capaz de se concentrar na comunicação, seja dentro da equipe ou entre a equipe e o cliente ou a equipe e a entidade comercial (ou mesmo uma combinação dessas três).

Thomas Owens
fonte
0

Desempenhei várias funções ao longo de muitos anos - desenvolvedor, desenvolvedor sênior, líder técnico etc.

Da sua pergunta - é bastante óbvio que seus desenvolvedores não lhe dizem coisas porque não acham que você pode ajudar.

Isso pode ocorrer por 2 razões.

  1. Eles não acham que você tem o poder de consertar as coisas. No entanto, acho que isso é improvável, porque você provavelmente o saberia e também os desenvolvedores se queixariam disso.
  2. Você é o tipo de pessoa que, quando um desenvolvedor chega a você com um problema, executa uma ou mais das seguintes ações
    • Quando eles chegam a você com problemas, você diz a eles - eu gosto de soluções, não de problemas.
    • Você os ouve bem e depois os encarrega de resolver o problema. Você lhes dá uma conversa animada sobre como é uma honra para eles ter a responsabilidade de resolver o problema. Com o tempo, seus funcionários entendem que, quando vão até você com um problema, acabam com um trabalho extra, para que não cheguem a você com problemas.
    • Você nega que é um problema. Você dá razões convincentes para isso. Mas, como isso continua acontecendo, com o tempo seus funcionários aprendem que não faz sentido abordar você com um problema.
    • Você diz "sim, eu entendo". Você diz que esse tipo de coisa acontece ocasionalmente e não há nada que se possa fazer. Se esse é um padrão, então, novamente, vocês entendem.

Se houver algum ou todos os itens acima, você precisará corrigi-lo.

user93353
fonte
-1

O que eu mais odeio são as pessoas que ficam entre mim, o desenvolvedor e o usuário final. Os melhores gerentes me permitem fazer isso e mudar nossa solução para corresponder ao que eu acho que o usuário deseja ou pode fazer.

A pior prática para mim é muitas vezes vestir-se como "boa" - geralmente o gerente tem ele próprio, ou um BA ou alguém escreve especificações que os desenvolvedores precisam interpretar e implementar, com prazos previamente acordados.

Se é uma solução personalizada, muitas vezes até os desenvolvedores não sabem quanto tempo levará e, geralmente, o cliente não tem idéia do que é melhor para eles. É por isso que o desenvolvimento iterativo é ótimo. Não é assim que a maioria dos negócios é feita, portanto um bom gerente luta para trabalhar como acima.

Finalmente, alguns desenvolvedores não são bons em comunicação e não podem se relacionar com os clientes. Talvez eles sejam mais adequados para problemas com requisitos claros, especialmente requisitos técnicos claros. Talvez você precise de desenvolvedores que sejam melhores comunicadores e que desejam trabalhar para resolver problemas de negócios e não puramente técnicos.

Richard
fonte
-1

É muito fácil manter a equipe feliz

Tente ouvi-los muitas vezes que a pergunta também tem respostas. eu encorajaria o membro da equipe a apresentar problemas e a solução provável.

Passeio em equipe é uma boa idéia (pode ser um plano de jogo)

se o seu projeto exige algumas noites e trabalho de fim de semana e você acha que realmente não agrega muito valor à equipe, ainda assim seria uma boa ideia dedicar algum tempo para comer e apreciar a equipe sobre seus esforços e, se possível organizar alguns para a tomada de força

faça um 1: 1 bimestral com todos os membros da equipe para garantir que estejam confortáveis.

Por último, mas não menos importante, pode ser uma boa idéia para você entender o projeto funcional e tecnicamente também.

Entre em contato se tiver mais alguma dúvida

Rahul
fonte
1
-1: você está prescrevendo remédios muito "mecânicos" e está tratando os desenvolvedores como autômatos.
Jim G.
-1

Também sou gerente de software (francês, perdoe meu inglês), que possui formação em engenharia científica, mas não especificamente em software de TI originalmente. Portanto, não tenho nenhuma afinidade especial com a codificação no início, mas tenho sido um engenheiro de qualidade estatística da escola de Deming, que tem um ensino enorme e diferente de todas as escolas "modernas" que se seguiram, apesar de pretenderem herdar de Deming. O pior é 6 sigma, o lean foi melhor, mas infelizmente o que aconteceu foi isso http://leanandkanban.wordpress.com/2011/05/13/what-did-deming-really-say :

“Originalmente, o Six Sigma foi derivado do Toyota Quality Management (TQM) da Motorola para atingir níveis de qualidade seis sigma e, por meio da Allied Signal e da GE, transformou-se em projetos de Black Belts com base em estatísticas para se tornar um programa de redução de custos - todos os projetos precisa de um ROI claro. Em outras palavras, denegrimos o programa de uma filosofia de liderança para vários projetos pontuais para reduzir custos. Foi uma bastardização completa do original e raramente levou a mudanças duradouras e sustentáveis, porque faltavam liderança e cultura.

“Aconteceu uma coisa semelhante quando se reduziu a um kit de ferramentas (por exemplo, mapeamento do fluxo de valor, placas KPI, células, kanban).

"Lean e Six Sigma de maneira alguma refletem o pensamento original de excelentes empresas japonesas ou de seus professores como Deming."

Hoje, o movimento Agile é parecido com o lean (veja o curso de Jeff Sutherland e sua homenagem a Deming http://blogs.forbes.com/stevedenning/2011/05/27/jeff-sutherland-the-21st-century-will-be-the -century-of-scrum / ), é melhor que Waterfall, mas ainda está muito longe do ensino original de Deming porque, em vez de ler Deming em seu texto original, os gurus apenas o re-empacotam, quase nunca citando todos os seus 14 princípios de gerenciamento, e vende ferramentas e seminários que têm pouco valor por si mesmos.

Agora, quando se trata de software, os problemas são as pessoas que, por um lado, conhecem os princípios gerais, mas não têm ideias reais de como aplicá-los, e, por outro lado, as pessoas que estão escrevendo softwares, mas ignoram os princípios porque apenas ouvem gurus falsos que venderam as ferramentas sem lhes contar os princípios reais e, de fato, deveriam criar suas próprias ferramentas de gerenciamento.

Portanto, para mim, o gerente de projetos de software deve fazer um esforço para aprofundar a operacionalidade cotidiana da codificação de software, não apenas fazendo planejamento no Microsoft Project (ou gráfico de burdown com Agile) ou uma boa apresentação no Powerpoint para a gerência superior, mas também possui alguns valores para a equipe de desenvolvedores. Quando a equipe do desenvolvedor tem problemas, mesmo que sejam técnicos, o gerente de projetos pode ajudar a orientar o diagnóstico com um olhar externo. Ele pode analisar o código, mesmo que não entenda os mínimos detalhes, ele pode fazer algumas perguntas ingênuas que podem levar os desenvolvedores a perceber que não pensaram nessa pista (eu tenho vários exemplos pessoais, mas é muito longo, então em vez disso, escreva um artigo no meu blog).

Outra coisa é que tento ter uma consciência geral da evolução no campo, como novas estruturas, novos paradigmas de arquitetura lendo artigos técnicos. Vou participar de alguns testes de integração, escrever algumas documentações (os programadores de animais odeiam o que eu faço por eles, é claro que eles me alimentariam com o núcleo), qualquer coisa que eu possa fazer praticamente por ajudar a equipe.

Em geral, os desenvolvedores sentem que estão fazendo o trabalho duro, e é verdade, muitas vezes eu digo a eles que estou fazendo a parte mais fácil, permanecendo na abstração; no entanto, tento ajudar concretamente quando necessário - porque o microgerenciamento também não é bom, pois pode gerar sentimentos de interferência.

Como conclusão: elimine slogans com desenvolvedores (que é de fato um dos 14 princípios de Deming), mostre a eles que você se importa com o software concreto do projeto, não com documentos ou sua reunião apenas com a gerência superior.

lepine kong
fonte
-1: Deming não resolverá os problemas do OP. Remova todas as referências Deming desta postagem. Eles não são de todo aplicáveis.
Jim G.