Estou lutando para saber o que eu e as pessoas da minha equipe realmente fazemos todos os dias. Eu tenho uma boa visão geral examinando os cartões preenchidos a cada semana e os levantamentos ajudam um pouco, mas sinto que não sou capaz de lidar bem com o trabalho diário da minha equipe. Os cartões permanecerão em andamento por dias a fio sem uma atualização no stand-up diário, e alguns engenheiros são que minha equipe não é a mais comunicativa.
Pensei em implementar algum tipo de registro diário que todo mundo preenche (por meio de uma lista de discussão ou de um documento compartilhado no google), mas isso parece bastante complicado e manual.
O monitoramento da atividade do GitHub faz um bom trabalho, mas pode ser um pouco complicado com a quantidade de emails que envia todos os dias. Pensei em tentar criar um sistema digest, mas não tenho tempo de sobra.
Quais estratégias você implementou para acompanhar o que sua equipe está fazendo todos os dias para que você possa medir o trabalho em tarefas "em andamento"?
fonte
Respostas:
Eu falo com eles
A tecnologia não pode resolver problemas sociais. Você tem breves acordes matinais. O que você fez ontem? O que você vai fazer hoje? Algum impedimento?
Se algo parece suspeito (ou estou curioso), paro e faço perguntas: "Você estava trabalhando no XYZ ontem, como foi?". Isso obriga as pessoas a prestar atenção e a realmente saber o que está acontecendo. Também mantém você como líder da equipe (e prestando atenção e sabendo realmente o que está acontecendo). Isso precisa ser pontual e curto (10 minutos no máximo ). Qualquer outra coisa e as pessoas não "arquivam" o trabalho. Eles param e esperam a espera e, em seguida, levam tempo para começar de novo. Alguns farão isso de qualquer maneira, mas é em grande parte inevitável.
Então eu paro na mesa de todos à tarde. Não todas as tardes (embora possa ser mais do que todas as tardes para novas pessoas), não ao mesmo tempo, mas ao mesmo tempo (por isso é informal e regular). "Algum problema? Algum impedimento?"
Você ficará surpreso com a frequência com que encontrará problemas quando as pessoas forem individualmente.
Se as pessoas não têm problemas, ótimo; Volta para o trabalho. Se eles não tiverem problemas a semana toda ? Problema. Você não está desafiando o suficiente, ou eles não estão se abrindo. Pergunte como está o XYZ (que eles mencionaram em stand-up). Faça-os explicar as coisas.
Isso não é microgerenciamento. Você não está dizendo a eles como fazer o trabalho deles. Você não está cuidando deles. Você está lá para remover impedimentos do dia a dia deles. Você precisa de informações para fazer isso. Contanto que você mantenha sua equipe fora das reuniões e os gerentes de projeto fora de seus cubos, uma pessoa que pare para ajudar uma vez por dia não causará sofrimento a eles. Mas todas essas interações precisam vir da veia "Estou aqui para ajudá-lo".
Outra coisa que farei é revisar os changesets (sozinho, informalmente). Eu posso ver com que frequência as pessoas fazem check-in, qual o tamanho de seus conjuntos de alterações, como isso corresponde ao que eles relataram, com que frequência refazem as coisas, quantas correções de bugs têm e assim por diante. Um item de trabalho que altera o status para "concluído" é quase sem sentido. Veja o código. Parece feito?
nota: Um ponto lateral extremamente sério: qual é o tamanho da sua equipe? São mais de 7 pessoas? É claro que você não será capaz de acompanhar tudo o que está acontecendo se sua equipe for muito grande.
fonte
Não micro-gerencie seus desenvolvedores!
O desenvolvimento produtivo de software requer longos períodos de esforço mental concentrado. Não é realista esperar que eles produzam resultados constantes. Se você começar a medi-los diariamente, eles reestruturam seu trabalho para que sempre produzam artefatos discerníveis para você ver todos os dias. Isso pode ou não ter um impacto positivo na qualidade do seu software. Quase certamente terá um impacto negativo na eficiência de seus desenvolvedores.
fonte
Como sugere Robert Harvey , não gerencie sua equipe de forma micro. Dê à equipe algumas tarefas priorizadas com valor comercial concreto e deixe sua equipe descobrir melhor como fornecer esse valor comercial.
Se a equipe agregar valor ao negócio, você deve ser feliz. Como eles garantem que entregam os recursos solicitados devem depender deles.
Contudo:
Isso pode indicar que há uma deficiência no processo.
Pode ser a equipe que não está realmente funcionando como uma equipe e não está entrando para ajudar um ao outro quando está presa. Também poderia ser a comunicação com o negócio. Como as tarefas são grandes demais, fica difícil descobrir o que é necessário. As especificações não são claras.
Também pode ser que não haja nenhum problema real. Talvez a equipe funcione bem com cartões que representam grandes trabalhos que levam dias para serem concluídos, e talvez a equipe esteja trabalhando bem para conseguir isso.
Eu acho que é válido usar a retrospectiva como uma plataforma para expressar sua preocupação. Às vezes, é bom receber observações de fora.
Mas deixe a equipe descobrir se há um problema e qual é a causa disso. E esteja pronto para aceitar que talvez você precise ajustar a maneira como as tarefas são entregues à equipe.
Lembre-se de que o suporte diário é uma ferramenta para a equipe ajudá-los a organizar o trabalho; NÃO é uma ferramenta para os gerentes acompanharem o que a equipe está fazendo.
fonte
"Mensagens push" e não "mensagens pull"
Um desenvolvedor geralmente acessa um dos seguintes estados que são importantes para você:
Idealmente, você deseja ter informações razoavelmente atualizadas sobre esses status sem interromper a produtividade real. Constante "Já chegamos?" é contraproducente, mas pode ser que você possa fazer algo útil para os estados 2 a 4, portanto, é necessário se informar sobre eles.
O que funcionará é uma cultura de 'envio de mensagens', de preferência de maneira automatizada. Você pode não precisar olhar para todo o log de confirmação, mas pode criar um "painel" em que vê a confirmação mais recente ou o ticket resolvido mais recente (para erros ou recursos) de cada membro da equipe. Nas demais situações, você pode enviá-las por e-mail proativamente com essas atualizações (espero que sejam mais raras do que confirmadas) ou perguntar se você não está vendo progresso contínuo em qualquer painel - se você tiver um é necessário aumentar o acordo interno de que ficar preso (pode ser que algum recurso não seja necessário se for de 80 horas a 8 horas), então eles o manterão atualizado ou serão incomodados por você.
Como alternativa, você pode criar uma cultura de algo como https://idonethis.com/ relatórios diários que saem para toda a equipe - isso garantirá que outras pessoas também estejam na mesma página.
fonte
Uma alternativa para algumas das outras respostas (focadas na comunicação) é que talvez as tarefas em seus cartões de notas possam ser divididas em pedaços menores, nos quais você poderá obter feedback mais rapidamente .
Com peças menores, a equipe sente que está realizando algo todos os dias, que deve refletir no stand-up.
A desvantagem é que esses cartões separados provavelmente dependerão muito um do outro. Uma equipe que é capaz de se comunicar muito facilmente entre si é benéfica aqui, ou as peças podem não combinar tão bem quanto deveriam. Talvez você também precise reter alguns dos cartões se precisar de algumas coisas primeiro.
Dito isto, as pessoas ainda ficam presas ou descobrem que uma tarefa é muito mais desafiadora do que elas, ou você, antecipavam de tempos em tempos. É por isso que ainda é útil discutir abertamente os problemas em que outros podem oferecer conselhos sem julgar a pessoa com problemas.
Para responder à questão do microgerenciamento, como algumas das outras respostas levantaram: mesmo que as pessoas realizem pequenas tarefas todos os dias, será necessário ter uma visão mais ampla do trabalho realizado para ter uma noção do quanto cada pessoa está realmente fazendo, ao invés de julgá-los por suas realizações diárias.
Sugiro isso porque trabalho em uma equipe de 8 pessoas, em que a comunicação é muito fácil e as pessoas são muito acessíveis. Recebemos tarefas que nunca se espera que levem mais de dois dias de trabalho. Às vezes, essas tarefas estão intimamente relacionadas e precisamos nos manter atualizados sobre como cada um de nós realiza sua própria peça. Cada um de nós é responsável por relatar o que realizamos a cada duas semanas ao nosso gerente.
Depois de ler a pergunta novamente, percebo que você pode estar fazendo isso como membro da equipe, não como líder e, portanto, pode não ter controle sobre suas tarefas.
fonte
Antes de tudo, você precisa se analisar em termos de tempo e habilidades. Se você é uma pessoa técnica com alguma experiência prática anterior, as coisas podem ser diferentes daquelas no caso de você ser apenas um gerente (sem um forte conhecimento técnico sobre o que seus desenvolvedores estão realmente trabalhando) e que só precisa garantir que os prazos sejam cumpridos .
O ponto comum em ambos os casos é que você precisa facilitar sua equipe e criar um sentimento de confiança. Você não está julgando o desempenho deles, mas está tentando ser empático e útil para tornar a experiência divertida e fácil.
Agora suponha que você é apenas um gerente, como eu disse acima, nesse caso, mesmo que algum desenvolvedor esteja enfrentando algum problema sério relacionado ao desenvolvimento, talvez você não possa ajudá-lo. O problema real pode ser demorado e exigirá concentração também. Supondo ainda que o desenvolvedor seja realmente sincero com seu trabalho e pague em tempo integral (até tempo extra) para resolver esse problema, mas infelizmente ainda não é capaz de resolvê-lo. E nessa situação (quando você nem consegue entender completamente o problema), você continua perguntando sobre o problema, progredindo todos os dias e mesmo informalmente duas vezes por dia. O resultado seria extrema frustração e perturbação para o desenvolvedor. Seja um aplicativo para reunir o progresso diário ou apenas uma reunião stand-up diária, ambos podem ser frustrantes.
Por outro lado, mantendo todos os outros fatores iguais, basta supor que você tenha uma sólida formação técnica e tenha trabalhado nas mesmas tecnologias no passado. Nesse caso, fazer progressos diários ou realizar reuniões de stand-up é realmente útil. Os desenvolvedores certamente confiarão em você e nos seus conhecimentos e estarão à vontade para discutir o grande desafio que estão enfrentando. Você fornecerá algumas sugestões que podem ser úteis ou, mesmo que não sejam diretamente úteis, ajudarão a fornecer algumas abordagens alternativas.
No entanto, em qualquer caso, as reuniões stand-by diárias devem criar uma sensação de você ser um membro da equipe e não um chefe / líder / gerente. A menos que os membros da sua equipe o considerem no mesmo nível que eles, eles não serão capazes de comunicar suas preocupações / sugestões / problemas / feedback, etc.
Outro ponto a ser consideradoé o tamanho da sua equipe e o tempo que você tem para gerenciá-los, antes de pensar em usar algum software automatizado de rastreamento de progresso ou aumentar sua interação. Você precisa garantir que quaisquer preocupações levantadas pela sua equipe sejam capazes de resolvê-las o mais rápido possível. Um fator desmotivador importante para um membro da equipe é que suas preocupações / sugestões / feedback não são levados a sério ou não são valorizados. Conhecer o progresso diário é importante, mas apenas no caso de você estar totalmente envolvido no trabalho em equipe. Se você também estiver envolvido em alguns negócios secundários, não tente interagir mais com sua equipe. Pense em uma situação em que a resposta da sua equipe seja esmagadora e eles enviem suas tarefas bem antes do tempo, levantando preocupações e dúvidas, mas você não poderá fornecer comentários e análises em tempo hábil. Em tal situação,
fonte
Crie e faça bom uso de várias salas de bate-papo de mensagens instantâneas para as várias configurações. Alguns podem ser amplos como @engineers e outros podem ser específicos, como @newFeatureA
Considere fazer com que o stand-up diário inclua uma revisão dos bilhetes de bordo.
Use um ambiente aberto que ofereça suporte à colaboração e verifique se o QE e o proprietário do produto principal estão no meio dos desenvolvedores. Você ouvirá muito e terá uma ideia de ver as telas ao seu redor.
Como Robert aponta, acima de tudo, não se vê um microgerenciamento (observe o uso de 'ser visto', ou seja, independentemente da sua intenção real).
Por fim, rastreamos o que é realizado ao longo do tempo e vemos qual é a nossa velocidade. Focar o progresso durante o dia é contraproducente, pois as pessoas ficam desmoralizadas e / ou vão embora.
fonte
Estou surpreso que ninguém aqui ainda tenha mencionado mensagens de repositório "seguidas" ou "marcadas com uma estrela" incorporadas a sistemas como GitHub ou BitBucket.
Todos os nossos stakeholders técnicos (líderes do projeto, gerentes de desenvolvimento e suporte) seguem nosso problema e confirmam históricos de atualização em seus projetos relevantes. Temos uma equipe pequena (15 contratados ETI +), mas isso parece funcionar para que
Ninguém é medido em nenhuma dessas coisas, mas, além dos relatórios semanais de status dos diretores, isso dá uma visão diária do projeto para pelo menos manter todos conscientes de quais áreas estão sendo trabalhadas, para que ninguém fique sem visibilidade.
Também ajudou a aumentar a transparência entre desenvolvedores e contratados e nossos contatos comerciais, o que ajuda todos a prestar contas de seus cronogramas de entregas.
Quando combinados com feeds RSS associados a repositórios específicos ou em toda a organização, conseguimos limitar e-mails (quando desejado) e oferecer um conjunto semelhante de dados em tempo real e em resumo por meio de leitores de RSS. Para alguns usuários, esse é o Outlook; portanto, é basicamente um email para eles, embora um pouco diferente, mas para outros usuários, eles usam um cliente RSS completo com toda a filtragem extra necessária para personalizá-lo para suas necessidades exatas.
De início, tivemos preocupações semelhantes com o volume de e-mails, mas nossos usuários finais criaram o sistema RSS sem que a Engineering Org tenha que fazer muito além de sugerir clientes para aqueles que não usam o Outlook. Trabalhou para nós, novamente em torno de 20 a 30 FTE + contratados ao longo do ano em vários escritórios e fusos horários. YMMV, obviamente.
fonte
Esta é uma adição muito marginal (e não é específica para programadores), mas tive um bom sucesso com o Asana em projetos recentes.
Para integração com as ferramentas de colaboração online existentes, não procure além do Slack . Ele foi construído em torno de uma sala de bate-papo, mas serve como um hub bastante minimalista para outras ferramentas, como Asana, GitHub e Bitbucket. Ele possui uma coleção decente dessas "integrações", pré-fabricadas e feitas pela comunidade , usando a API que, naturalmente, permite que você construa suas próprias.
fonte