O que poderia ser uma boa atividade de formação de equipe para melhorar as habilidades de estimativa? [fechadas]

9

Estou montando uma apresentação para entregar a alguns de meus colegas de equipe (todos os desenvolvedores) e gostaria de incluir uma pequena atividade de formação de equipe que se concentre em melhorar as habilidades de estimativa. Alguém tem alguma sugestão ou conhece alguma atividade de formação de equipe que eu possa usar?

Roubar
fonte
2
Melhorar a estimativa não é algo que pode ser feito com uma atividade curta. Tem que ser um esforço de longo prazo para rastrear suas estimativas, horários reais e algum tipo de post-mortem para determinar por que a estimativa e o tempo real eram diferentes. Também é uma habilidade que se desenvolve com o tempo - você melhora estimando e aprendendo com seus erros através da análise.
Thomas Owens
Você tem um problema? Qual é a precisão de suas estimativas e você deve dedicar algum tempo para melhorá-las?
Jeffo
@ Thomas Owens, estou ciente de que não é algo que possa ser feito com uma atividade curta. Estou apenas tentando aumentar a conscientização sobre a importância de desenvolver boas habilidades de estimativa. Eu deveria ter sido mais específico na minha pergunta.
Rob
2
@ Jeff O, não há problema - estes são novos contratados, alguns com menos experiência, e eu quero ajudá-los a trabalhar com estimativas em geral.
Rob

Respostas:

8

Confira o agendamento baseado em evidências da Joel On Software , é uma maneira bastante simples para as pessoas descobrirem como estimar com mais precisão.

A melhor maneira de aprender a estimar é ter bons requisitos, prática, prática e prática. Ensinar a eles coisas como o Agendamento Baseado em Evidências ajudará a prática a ser mais eficaz, mas nada pode substituir a prática real.

Malfist
fonte
Eu realmente me amo alguns EBS (sou um usuário ávido do FogBugz). Não pensei em usá-lo como exemplo - boa sugestão. Vou me inspirar nisso.
Rob
6

Apresente um exemplo de problema usando o Minecraft.

O cliente precisa de uma pirâmide de degraus marrom com 20x20 blocos. A pirâmide também precisa de um fosso com pelo menos 10 blocos de largura.

Dê a eles três minutos para elaborar uma EAP simples e uma estimativa.

Após 2 minutos, digamos que o cliente mudou de idéia e agora precisa de uma pirâmide de 30x30. Diga-lhes para revisarem suas estimativas no minuto restante.

No final das contas, peça para eles pousarem o lápis e agora digam que os desenvolvedores começam a trabalhar no projeto, mas o cliente está confuso porque não havia uma ponte atravessando o fosso.

Diga a eles que a ponte levaria X horas para se desenvolver e peça a todos que subestimaram que se levantem.

Isso levará o ponto para casa.

maple_shaft
fonte
2
Eu gosto disso, mas se você não estiver familiarizado com o Minecraft, não tenho certeza de como poderia fazer uma estimativa que faça sentido. Como você quantificaria o tempo necessário para construir uma pirâmide de degraus marrons?
Rob
11
@ Thomas Owens, acho que o ponto maple_shaft é impressionar os desenvolvedores a importância de descobrir esses tipos de requisitos. Como consultor, eu pessoalmente vi muitos exemplos de coisas ridiculamente óbvias que um usuário deveria ter pedido, mas não o fez, porque não sabia que era o que precisava. Eu e meus desenvolvedores somos todos consultores e, em nossa situação atual, não temos o luxo de bons engenheiros de requisitos, e é por isso que estou tentando ajudá-los a fazer esses tipos de perguntas de descoberta de seus clientes para ajudar a melhorar suas estimativas. .
Rob
2
@ unwigiven3 Isso não tem nada a ver com estimativa, no entanto. O trabalho de engenharia de requisitos pode recair sobre um desenvolvedor, mas você só pode basear suas estimativas em requisitos conhecidos. Melhorar sua capacidade de analisar, verificar, validar e descobrir requisitos não é adequado para melhorar sua capacidade de estimar quanto tempo levará para executar uma tarefa. Os requisitos mudam, as estimativas, portanto, mudam, mas é impossível estimar o que você não sabe e não deveria estar tentando.
Thomas Owens
11
@ Thomas Owens, eu concordo que é impossível estimar o que você não sabe - o que é exatamente o meu ponto - você precisa descobrir os requisitos para um recurso e validar suposições sobre ele como um pré-requisito para criar uma estimativa decente. Eu concordo, no entanto, depois de alguma consideração, que não é possível melhorar a capacidade de estimar - talvez focar a atividade na descoberta de requisitos seja mais imediatamente útil do que uma atividade de estimativa. Bons pontos - eles definitivamente me fazem pensar que talvez eu esteja focando na habilidade errada para melhorar.
Rob
11
@ Ungiven3 Um bom engenheiro deve estar sempre trabalhando para melhorar os dois. Eu estive em uma posição em que não fui encarregado da engenharia de requisitos, mas recebi uma especificação que tinha o que vi eram problemas. Ter a habilidade de vê-las e fazer as perguntas certas é essencial para qualquer pessoa que esteja desenvolvendo software e precisa ser trabalhado. No entanto, quando estou estimando, sempre baseio minhas estimativas nas especificações, mesmo que haja perguntas. Deixo apenas uma janela maior por erro (dando 75% de chances em vez de 85% ou uma janela um pouco maior).
Thomas Owens
1

Sugiro um gerador / solucionador de labirintos para os seguintes pontos:

  • É divertido fazer
  • Você não consegue pensar em todos os casos pela primeira vez
  • A geração e solução de coisas são bastante complementares
  • Isso abrange do back-end com salvamento de dados ao front-end com carregamento de dados
  • Muitos pontos podem ser atribuídos às pessoas: especificação de arquivo, exibição, geração, resolução, otimização, teste, etc.
Whiskas
fonte
1

Você pode tocar o "Quanto tempo você levou para escrever isso?" jogos. Semelhante a um grupo de pessoas que se gabam de como podem dirigir para Las Vegas em X horas (onde o número X geralmente diminui a cada fanfarrão até que alguém afirme que pode fazê-lo em menos de uma hora). Assim, para os programadores: jogue fora um objetivo simples e veja o que cada indivíduo diz e se há um consenso do grupo ou opiniões de destaque. Quanto tempo você levaria para escrever olá mundo? O que significa "escrever", isso significa "executar" e "testar" também? Requer um ambiente de simulação primeiro? Em qual plataforma e qual compilador cruzado e as ferramentas já estão instaladas e prontas? etc etc. "Olá, mundo" pode levar quatro dias para "escrever" em uma plataforma incorporada (instale ferramentas, prepare a plataforma,

Depois que a equipe terminar de decidir quanto tempo o objetivo pode levar, avalie quanto tempo ele realmente leva (talvez não para o objetivo sugerido, mas para um semelhante no mundo real) ou lembre-se de um projeto anterior com um objetivo muito semelhante. Compare a estimativa com a real. Exagere exageradamente o erro entre a estimativa e a real e publique uma conclusão para todos.

Jonathan Cline IEEE
fonte