Como você monitora o que você e sua equipe estão trabalhando no dia-a-dia?

61

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"?

Brian Brunner
fonte
5
Isso deve ser perguntado melhor em workplace.se.
mattnz
39
@mattnz - não sei. A resposta variará significativamente entre um programador e um jogador de basquete e um carteiro.
Telastyn
17
Isso deve ser coberto nos levantamentos diários. Onde trabalho, cada um de nós declara no que está trabalhando atualmente e no que pretende trabalhar amanhã. O truque para isso é que os participantes não devem sentir que estão sendo 'rastreados'; se você sentir que um desenvolvedor pode estar atrasado, NÃO o exponha em pé, mantenha a conversa em particular.
JuStDaN
5
@mattnz - Ok, substitua os exemplos por Contador e Advogado. Ou médico e político. Ou encanador e secretário. No final, não existe uma resposta única de "como acompanhar o que uma equipe de profissionais está fazendo", porque diferentes profissões precisam de abordagens diferentes - e, portanto, não se encaixam perfeitamente no local de trabalho.
Telastyn 9/09/14

Respostas:

108

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.

Telastyn
fonte
31
+1 As equipes que não se comunicam não são equipes e não realizam o trabalho.
11
Eu gosto disso. "Você está lá para remover impedimentos do dia-a-dia. Você precisa de informações para fazer isso." Poderíamos ser melhores nisso onde trabalho.
Robert Harvey
33
Uau. Revolucionário! Eu tenho que realmente falar? Ou posso ter um aplicativo para isso?
precisa saber é o seguinte
7
@ Snowman: Seu comentário não passa de uma falsa banalidade. Estive em muitos e diferentes tipos de equipes ao longo dos anos e não vi sua platéia ser um fator-chave para o sucesso ou fracasso de qualquer uma dessas equipes. Algumas equipes têm sido extremamente eficientes e bem-sucedidas com o nariz para baixo, fazem isso, não me incomodam (na verdade, as equipes mais bem-sucedidas em que já participei foram assim). Enquanto outras equipes foram falhas absolutas na comunicação até o ying-yang.
Húmido
5
RE: "Se eles não tiverem problemas a semana toda? Problema." - Pode ser que você não seja a pessoa certa para resolver o problema. Talvez outro desenvolvedor, a Internet ou outra coisa já esteja trabalhando para remover o impedimento.
sixtyfootersdude
143

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.

Robert Harvey
fonte
27
Infelizmente, só tenho um voto positivo para isso! "Se você começar a medi-los diariamente, eles reestruturam seu trabalho para que eles sempre produzam artefatos discerníveis para você ver todos os dias.": Para tarefas complexas, mesmo um ponto de verificação semanal (sprints de uma semana) pode ter isso efeito: você acaba trabalhando para produzir um resultado visível em vez de se concentrar na solução dos problemas reais.
Giorgio
4
Chegando a hora da crise, eu passo o primeiro dia colhendo as frutas baixas para jogar o jogo dos números. Veja o quanto fizemos em um dia! Economizo um pouco para que outros dias eu possa eliminar alguns requisitos / feedback logo de manhã e depois passar o resto do dia trabalhando nas coisas importantes .
6
Pode-se argumentar que o trabalho sem um artefato discernível não é útil para seus clientes e, assim, à sua empresa </ advogado do diabo>
Telastyn
14
@Telastyn: Claramente, você precisa de artefatos discerníveis para ser útil para seus clientes. O ponto é quantas vezes você e seu cliente precisam deles. Não existe uma regra geral, mas monitorar o processo de desenvolvimento muito de perto pode atrapalhar o processo, abrandar e reduzir a qualidade dos resultados. Como exemplo provocativo, quando você caminha, verifica se está seguindo a direção certa após cada passo?
Giorgio
3
Concordo com o conteúdo disso, mas discordo que é uma resposta para a pergunta. Eu acompanho o progresso diário, mas gerenciar é um processo interativo. Essa interação eu normalmente reservo para o final do sprint. Mesmo se você gerenciar estatísticas de alto nível, essas estatísticas serão feitas reunindo pontos de dados individuais. Eles não aparecem magicamente na minha mesa.
MSalters
9

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:

Os cartões permanecerão em andamento por dias a fio, sem atualização no stand-up diário

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.

Pete
fonte
6

"Mensagens push" e não "mensagens pull"

Um desenvolvedor geralmente acessa um dos seguintes estados que são importantes para você:

  1. Yaaay, eu fiz o X!
  2. Estou trabalhando no X, mas parece que levará um tempo prolongado ...
  3. Estou preso no problema Y, estou pesquisando, mas talvez precise de conselhos;
  4. Estou bloqueado porque estou esperando por A, B e C.

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.

Peter é
fonte
11
Tentamos usar o idonethis por cerca de 2 meses, não deu certo - porque você precisou de um momento para ir para outro lugar, e apenas para atualizar seu status, a maioria de nós esqueceu que existia
Izkata
Certamente, uso nossos sistemas de rastreamento de problemas e sistemas de gerenciamento de alterações ao compilar relatórios de meio / ano do que venho fazendo, e usamos o "painel" do Jazz para gerenciar atividades como departamentos e nos projetos como um todo. As reuniões do Scrum comunicam o que estamos trabalhando no momento, mas não mantêm o histórico detalhado. Achei também útil, por mim, reunir uma pequena ferramenta de linha de comando que me permite rapidamente tirar uma nota de uma linha com carimbo de data e hora; isso é útil para registrar atividades e detalhes que não são facilmente visíveis nos outros sistemas.
precisa saber é o seguinte
@ Izkata Eu sinto o mesmo sobre o software de gerenciamento de tempo que estou usando no meu local atual. Acabo configurando um lembrete para acionar às 16:00 (nos dias em que começo mais cedo) e às 18:00 (nos dias em que começo tarde) todos os dias para lembre-me de atualizar o sistema. Até agora, esqueci-me com muito menos frequência de atualizar o sistema. Pode valer a pena considerar se você deseja continuar usando esse sistema.
scragar
5

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.

  1. Você pode sugerir ao seu líder que interrompa as tarefas mais
  2. Se o seu trabalho está sendo bloqueado ou depende do trabalho de outro membro da equipe, fique à vontade para checar com ele e executar uma tarefa diferente, se necessário.
Dobro dobro
fonte
11
Dividir as coisas em uma hierarquia de partes menores e rastrear dependências entre elas é uma das coisas em que o Jazz / RTC é bom.
precisa saber é o seguinte
3

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,

arj
fonte
2

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.

Michael Durrant
fonte
2

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.

Bryan 'BJ' Hoffpauir Jr.
fonte
4
O OP indica que eles seguem os resumos do github e é esmagador. Na minha experiência, é uma visão muito superficial das coisas, o que dá uma falsa sensação de segurança.
Telastyn 9/09/14
2
Isso é verdade se você seguir todas as atividades no GitHub. Para ser sincero, usamos o BitBucket para nossa empresa e parece oferecer controle refinado o suficiente sobre o nível de atualizações de email para nossas equipes pequenas. Não tem certeza se o GitHub oferece o mesmo nível de granularidade, talvez alguém possa compará-lo ao BitBucket se tiver usado os dois para ajudar a qualificar a configuração e os tamanhos das equipes que o tornam adequado. O seguinte apenas atualizar atualizações no GitHub realmente geraria muita atividade? Não parece no BitBucket ... e isso é suficiente para nossos PMs e Leads
Bryan 'BJ' Hoffpauir Jr.
Comentário adicionado sobre desenvolvimentos recentes sobre o uso de clientes de RSS (ou mesmo o Outlook em alguns casos) para reduzir o volume de e-mails e permitir que os usuários filtrem seus dados automaticamente, mas ainda os mantenham como "em tempo real" e como resumo / fim do dia / fim da semana como eles querem. Parece funcionar bem para quem não quer que um fluxo constante de e-mails seja adicionado às caixas de entrada existentes ...
Bryan 'BJ' Hoffpauir Jr.
0

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.

shadowtalker
fonte
Eu gostaria de saber por que isso foi rebaixado. Entendo que a pergunta é feita sobre "estratégias" e não "ferramentas", mas não é "usar uma boa ferramenta" uma estratégia viável?
shadowtalker 10/09
veja Como responder . "Leia a pergunta com atenção. Qual é a pergunta específica? Verifique se sua resposta fornece que - ou uma alternativa viável ... A brevidade é aceitável, mas explicações mais completas são melhores ..."
gnat
Eu vim aqui para sugerir o uso do Slack . É uma excelente ferramenta para acompanhar o que a equipe está fazendo no dia-a-dia . Que, a propósito, é exatamente a questão. Mas, depois de analisar esta resposta e os comentários, talvez eu simplesmente não entenda como o programamers.stackexchange.com funciona (embora eu tenha muitos pontos de reputação em outros sites).
Denilson Sá Maia
@gnat, o que mais você gostaria desta resposta? Eu não vejo muito aqui que admite a "mais completa" explicação
shadowtalker