Pergunta

Eu tenho um desenvolvedor na minha equipe que cronicamente ultrapassa prazos e estimativas. Em vários projectos a última semana ou duas todos os dias eu ouço "Deve ser feito até o final do dia". Este desenvolvedor faz um bom trabalho.

Eu já falei com ele sobre seus problemas. Ele parece realmente frustrado e ofendido sobre o que fazer para corrigi-los.

As minhas perguntas são:

  1. Que tipos de punições para passar um fim do prazo são eficazes?
  2. Que formas posso coagir este funcionário à polícia suas ações (estimativas de tempo, etc.,) a si mesmo?

Atualizar : Com base nas respostas; aqui está o que eu descobri.

  1. A punição é uma má idéia.
  2. É natural que um empregado ser incapaz de resolver os problemas que estimam sem intervenção.
  3. Não faça prazos a menos que haja conseqüências da empresa (perda de contrato) para não ser feito até então.
  4. Utilizar métodos disponíveis (Agile, lista de verificação de Joel) para ajudar a estimativa desenvolvedor melhor.

Obrigado pelos links e informações. Também graças para atualizar o meu pensamento.

Foi útil?

Solução

Eu não acho que o problema é que ele está faltando esses prazos.

Eu acho que ele tem um problema real na estimativa da quantidade de tempo que levará para concluir uma tarefa.

Ter-lhe começar a manter um diário do que ele diz uma tarefa vai demorar e quanto tempo realmente levou para completar a tarefa. Eventualmente, este jornal se tornará uma espécie de guia para ele criar melhores estimativas. Uma vez que ele se torna melhor estimar, ele não deve se sentir como apressado ou apressado.

Outras dicas

Há um interessante artigo de Joel Spolsky: Evidence Based Scheduling

1) er Break’para baixo

Quando vejo uma programação medido em dias ou mesmo semanas, eu sei que não vai funcionar. Você tem que quebrar sua programação em muito pequenas tarefas que podem ser medidos em horas. Nada mais do que 16 horas.

Isso força você a realmente descobrir o que você vai fazer. foo sub-rotina de gravação. Criar esta caixa de diálogo. Analisar o arquivo Fizzbott. tarefas de desenvolvimento individuais são fáceis de estimar, porque você escreveu sub-rotinas, diálogos criados e arquivos interpretado antes.

Se você é desleixado, e escolher tarefas grandes de três semanas (por exemplo, “Implementar editor de fotos Ajax”), então você ainda não pensou sobre o que você vai fazer. Em detalhe. Passo a passo. E quando você ainda não pensou sobre o que você vai fazer, você não pode saber quanto tempo vai demorar.

Definir um máximo de 16 horas obriga a projetar o recurso maldita. Se você tem um recurso de três semanas mão-ondulado chamado de “editor de fotos Ajax” sem um projeto detalhado, lamento ser o único a quebrá-lo para você, mas você está oficialmente condenado. Você nunca pensou sobre os passos que vai tomar e você está certo de ser esquecendo um monte deles.

O ponto principal é que ele (e você) deve aprender com seus erros, e levá-los em conta na próxima avaliação.

Além disso, se você é um desenvolvedor, eu faria a revisão do código regular no final do dia para obter uma melhor visão sobre o seu processo de desenvolvimento.

E, é claro, iterações menores e mais granularidade com tarefas. Definir a duração da tarefa máximo de 1 dia. Essa é a regra que temos.

Se a sua primeira pergunta é que tipo de punições estar considerando Eu acho que você está em um perdedor em linha reta fora. Se você sente que ele faz um bom trabalho você pode ter que olhar para os prazos / estimativas e ver se eles eram realistas em primeiro lugar. Quem defini-los, se o desenvolvedor em questão não estava envolvido em seguida, que pode ser parte do problema.

Eu concordo com @OTisler que a programação em pares e, possivelmente, um final regular do dia revisar o progresso com você mesmo pode ajudá-lo através ... embora se os prazos / estimativas eram irrealistas para começar com isso não é onde suas mentiras de problema.

maior controlo sobre algumas tarefas específicas deve destacar que todas as questões mentir.

Que tipos de punições para passar um prazo são eficazes?

Nenhum. Se você irritá-lo, ele não vai fazer o trabalho, ou ele vai encontrar outro emprego. Você deve ajudá-lo a descobrir por que suas estimativas estão desligados. Há um livro por Steve McConnell sobre fazer estimativas. Gostaria de começar por aí.

O que maneiras posso coerência este empregado à polícia suas ações (tempo estimativas, etc.,) a si mesmo?

Ao ajudar a encontrar o caminho certo para fazer estimativas.

Em primeiro lugar, verifique se você está claro em suas necessidades.

Eu odeio dizer isso, mas na minha experiência, prazos soprados são tão frequentemente uma questão de exigências pouco claras ou especificações fracas por parte de um supervisor. Primeira coisa a fazer é ter certeza de que o problema não é tanto de origem com ou agravada por, você.

Além disso, certifique-se suas exigências são realistas, bem como suas estimativas.

Certifique-se de que suas próprias expectativas não estão empurrando-o para fazer estimativas irrealistas, a fim de atender às exigências irrealistas.

Lembre-se, você faz as exigências, mas o desenvolvedor sempre faz as estimativas, e não deve ser influenciado por "nós podemos fazer isso mais rápido", a menos que você também está especificando funcionalidade para ser descartado.

Então, certifique-se de que ele está seguindo seu tempo / tarefas com precisão, para que possa ter uma visão boa do que está acontecendo com o projeto.

Este processo irá mostrar qualquer falta de controle de tempo / tarefa própria, o que pode acabar por ser o primeiro passo para a melhoria. Se você não pode ver após o projeto quanto tempo um item em particular levou, que é provavelmente a causa do problema ali mesmo - não definição suficiente na estimativa, ou faltando tarefas "dependência" que são descobertos meados de projeto, mas nunca estimada .

Você tem que saber quanto tempo foi gasto fazendo o que, precisamente, antes que você possa descobrir onde a fluência era, ou o que pode ser feito sobre isso.

Então, ver onde suas estimativas estão falhando e descobrir o porquê. Passar por cima de uma estimativa de um projeto soprado, faça isso em um projeto em si -. Um problema a ser resolvido

Uma vez que você determinou que suas estimativas são de fato a fonte do problema, passar por cima de uma estimativa que passou por cima com ele, e talvez outro desenvolvedor, e descobrir o porquê.

Isso irá ajudá-lo a descobrir o que a causa do problema. Uma sólida compreensão do problema provavelmente será a solução real.

Por último, se você realmente chegar a um ponto onde você tem que tentar punição ou coerção, é hora de demiti-lo e começar de novo.

A punição e coerção são respostas adequadas aos delito intencional em determinadas situações.

No entanto, se este desenvolvedor está ativamente tentando fazer um bom trabalho, então você só iria piorar a situação, gerando atitude negativa e frustração.

Se o problema não puder ser resolvido, e você tem certeza que o problema é com ele, e não você, então é hora para demiti-lo e obter um desenvolvedor que pode cumprir prazos. Grande trabalho não significa muito quando os custos são explodido e lucro vai para fora da janela.

Ok, isso é bastante comum - promotores sendo otimista. É o trabalho de gestão para lidar com ele. Se alguém deve ser punido, é o gerente (você?)

Estou feliz por você, pelo menos, perguntou: Parece que você tem algumas boas respostas fora desta lista, espero que eles ajuda e você encontrar uma maneira de realmente implementar alguns que trabalho.

Quando eu era jovem, meu primeiro gerente bom tratada desta forma:

Antes de tudo, ele tinha me venha com uma lista detalhada - quebrando tarefas até horas, e estimar cada um com uma estimativa muito liberal - nenhum período deve ser inferior a 4 horas, independentemente de quão pequena a tarefa era .

Então ele olhou para eles e disse-me para dobrar todas as minhas estimativas. (Desenvolvedores, desenvolvedores especialmente os mais jovens, não pensam sobre o fato de que você só é produtivo para cerca de 1/2 do dia, se você tiver sorte - e metade do que é gasto em coisas que você não esperava ter que fazer).

Então, antes de criar sua agenda, ele dobrou todas as minhas estimativas (Sem me dizer).

Ele virou-los desta forma, independentemente de requerimentos de cronogramas de cima. Um bom gerente deve perceber que dizendo que precisa ser feito em 2 dias, não torná-lo possível.

Quando cheguei melhor estimar nós dois notado e ajustados em conformidade.

Um trabalho de gestores não é apenas para fazer um projeto, é construir uma equipe. Mais frequentemente do que não que vai exigir a formação de algum tipo. Esta é também a razão que um gerente de engenharia que não é um engenheiro é inaceitável, eles não podem realmente ajudar com esse tipo de coisa.

A falta de um projeto ou cronograma praticamente nunca é culpa do desenvolvedor (exceto em alguns casos crônicos onde ele não é realmente solucionáveis ??ou de qualquer valor e precisa ser demitido). O gerente fez más decisões, quer na contratação do desenvolvedor, confiar nele, administrando-lo ou definir o perfil do projeto.

E realmente, o que é culpa de qualquer maneira? Suponho que se o gerente não é muito bom em fazer o projeto acontecer, ele vai precisar de alguém para apontar para ... Se seu gerente é bom, ele vai perguntar por que ele chegou até aqui, o que você fez para corrigi-lo , etc.

A contratação de um gestor é a contratação de alguém para resolver os problemas. Para fazer com que os desenvolvedores produtivo. Se ele não pode torná-los produtivos, ele não é a pessoa certa.

Para suas perguntas:

  1. Se você optar por punir as pessoas por falta de prazos você não vai obter bons resultados. Eles vão ser desmotivados e sentir menosprezado. Se você continuar a empurrar as pessoas para cumprir os prazos a qualidade do trabalho vai sofrer e você vai acabar com um monte de tempo bug passou fixação depois.
  2. Para melhorar o seu tempo estima você pode tentar usar programação baseada em evidências de Joel Spolsky que tem um ciclo de feedback bom para melhorar as estimativas resultantes.

Mas eu tenho algumas perguntas que eu acho que você precisa pensar.

É mais tarde do que todos os outros? Se assim por que - é porque ele é um estimador mais otimista ou um trabalhador lento? Ao longo estimativas otimistas são fáceis de corrigir - basta multiplicar todos os seus números por um fator conforme programação baseada em evidências acima. Se ele é um trabalhador lento por quê? Será que ele se distrair? ele é muito cuidadoso para produzir muito baixa código defeito? Ele é mais de Soluções de Engenharia? Será que ele não re-utilizando o código de forma eficaz?

Será que os prazos matéria, ou são apenas datas arbitrárias com base nas estimativas para fins de relatórios de progresso até a hierarquia de gestão? Se o último que você pode resolver este por aprimorando suas estimativas de si mesmo.

Que tipos de punições para passar um prazo são eficazes?

Você declarou o ponto e perdeu. A punição óbvia para a passagem de um prazo é a morte. Se o desenvolvedor ainda está vivo depois de passar um fim do prazo o "deadline" obviamente não foi um verdadeiro prazo. Você acha que é engraçado para colocar os desenvolvedores sob pressão usando uma linguagem marcial?

Corrigir o seu texto.

Motivation

Primeiro de tudo: Leia Peopleware

Next. Porque você acha que punição será uma maneira eficaz de gerenciar as pessoas que é suposto ser criativo? Eu acho que você tem que repensar toda a abordagem à equipa de gestão vs..

A meu ver os gerentes de primeira, e mais importante, o papel é certificar-se que os desenvolvedores pode ser criativo e produtivo. Não que eles são produtivo. Há uma grande diferença nessas pequenas palavras. Para ser criativo você precisa de um ambiente seguro. Por estar constantemente sob pressão de ambos os prazos e ameaças de punição a criar exatamente o oposto do seguro.

Além disso, como um gerente, você precisa de informações precisas sobre a qual basear decisões. Isso também requer um ambiente seguro. Se houver um risco para a punição por ser honesto e franco você está garantido para obter mentiras e falta de informação. Uma base muito perigoso tomar decisões a partir de.

Estimativas

Como outros como fora pontas, as estimativas são estimativas. Em nossa equipe não fazemos quaisquer estimativas individuais em tudo, fazemos estimativas como uma equipe. (Eu sou um pouco relutante em chamar o que fazemos Scrum, mas a maior parte tenta imitar se nada menos) Eu acho que isso é realmente uma ótima maneira de fazer estimativas: Cada membro da equipe é dado um baralho de cartas consistindo de números 0 , 1 / 2,1,3,5,8,13,20,40,60,100 e ao estimar uma tarefa cada desenvolvedor pega um cartão (os cartões estão escondidos até que todos tenham escolhido um cartão para evitar influenciar estimativas) e a média de os cartões selecionados é tomado como estimativa.

Observe como os números se torna progressivamente menos precisa. Isso ocorre por design porque grandes estimativas são por necessidade menos preciso.

Para a nossa equipe optou-se por utilizar a unidade de "man dias ideais" para as estimativas. Já em qualquer um de nós pode se lembrar de um dia ideal ainda não ocorreu, mas é uma base boa quando você sabe como traduzir dias de calendário para "Homem dias ideais".

prescreve Como Scrum, o desenvolvimento é feito em sprints de duas semanas depois que a nova versão é implantado no ambiente de produção. Depois de cada sprint tomamos a soma das estimativas das tarefas concluídas e divida pelo dias homem planejadas para o sprint. Este fator é então a base de estimar quantos "homem ideal dias", a equipe pode gastar em um período de duas semanas.

itens de trabalho real feito por um desenvolvedor individual não precisa de uma estimativa. A primeira aproximação é sempre 1/2 - 1 dia para completar. Se esta estimativa acaba por ser falsa você simplesmente pegar um desenvolvedor companheiro e fazê-lo juntos para fazê-lo. Ou você quebrar o item de trabalho em tarefas menores para que ele possa ser distribuído melhor.

set Marcos e tentar Agile como @OTisler sugeriu.

Eu não acho que você deveria puni-lo. Apenas levá-lo a entender como fazer estimativas precisas.

Como uma equipe levar Eu tive membros da minha equipe me dizer que será "nenhum problema" com recurso acabamento X dentro do prazo. Então eu costumo sentar-se com eles e passar por cima de quais as tarefas e sub-tarefas que eu acho que precisa ser feito para que o recurso para ser concluída, e quanto tempo o desenvolvedor acha que cada um vai tomar.

Depois de fazer este exercício, e somar todas as estimativas de tarefas e sub-tarefas, ele irá inevitavelmente levar muito mais tempo do que o desenvolvedor pensa em sua estimativa original. Eu normalmente só tem que fazer este exercício com eles algumas vezes antes de começar a fazer estimativas mais precisas.

O que me espanta é que você só tem um desses caras.

Os engenheiros são horríveis em estimar quanto algo tempo vai demorar. Aposto que se você olhar cuidadosamente as estimativas seus outros dos desenvolvedores, você vai encontrar um monte de preenchimento. Às vezes, o preenchimento não é necessário, mas a tarefa se expande para preencher o tempo disponível de qualquer maneira.

A solução para isso é mudar em torno de como você faz estimativas - para todos. Desenvolvedores pode ser ruim em estimar o tempo absoluto, mas eles são muito bons em tempo relativo. Então, na segunda-feira, em vez de "quanto tempo vai demorar para adicionar um whoosiwhatsit ?," pergunta "o que você pode ter feito na whoosiwhatsit em menos de uma semana?" Que se torna a sua tarefa para a semana.

Na segunda-feira seguinte você olha para como foi. "Bem, eu tenho o floogle instalados em dois dias, mas acontece que impactou o McPhee ... então esta semana eu preciso dissociar esses caras para que os arquivos whoosiwhatsit não obter substituído." Ok, não é sua tarefa para a semana.

Você pode pensar que não vai ajudar, porque você ainda não sabe quando o whoosiwhatsit vai estar pronto. Isso é verdade. Você tem duas opções aqui:

Se você precisar de um prazo, então você tem que forçar seu desenvolvedor errante para preencher suas estimativas como todo mundo. Não vai demorar muito tempo para pegar o jeito dele, e em nenhuma hora em tudo o que ele vai tomar "2 semanas" para escrever algo que deve ter tomado um dia.

Sua outra opção é trocar as estimativas fictícios para mais visibilidade. No longo prazo, esta abordagem faz com que você engenheiros muito mais felizes mais produtivo e.

Assim, o desenvolvedor faz um bom trabalho, mas é pobre em estimar a quantidade de tempo para a entrega? Eu não estou certo que você tem uma situação de castigo em suas mãos ainda.

Talvez daqui para frente por algum tempo, tê-lo guiá-lo através de seu processo de estimar um ponto de entrega. Esta pode ser uma oportunidade para perguntar a ele por que os passos X, Y e Z tomar certas quantidades de tempo. Ele pode encontrar-se revisando suas estimativas simplesmente fazendo o exercício em que é quase certamente um ritmo mais lento.

pergunte a si mesmo: O que implica o seu trabalho?

Se você está apenas cegamente passando estimativas dos desenvolvedores (que você sabe que não pode dar boas estimativas) até a linha de gestão, e não decidir por si mesmo se essa estimativa é viável, então você não está fazendo o seu trabalho.

Tente pensar em termos de "valor agregado" (Um dos meus antigos empregadores usado esse termo muito, e eu odiava isso, mas provavelmente funciona para você nesta situação). Qual o valor que você está adicionando? Se você está apenas passando o material em ambos os sentidos entre a alta gerência e os desenvolvedores, em seguida, em última análise, você não está ganhando o seu dinheiro. Você poderia ser removido, e nada mudaria.

O melhor gerente que eu tive foi um que olhou através de um conjunto de requisitos que lhe foram dadas por outra equipe, e disse-lhes para fora que quase um terço delas era touro, e eles tinham removido, antes de eu nunca sequer viu o Lista. O pior que eu já tinha me fez escrever tudo isso documentação-tipo de gestão extra que nenhum dos outros gestores que eu já tive me pediu para fazer (eu realmente tenho a impressão que eu estava literalmente fazer o seu trabalho para ele), não até mesmo dar-me projetar datas de vencimento, e quase virou-se para o trabalho. Os dois estavam na mesma empresa, bizarramente suficiente.

90 horas é um prazo comum de projeto curto. A maneira mais fácil é, ao invés de estimar "o seu tempo", você mede o outro. Os programadores de computador shoudn't fazer estimativas de tempo para os seus projectos desde mostra evidências de cálculo próprios resultados prazo de um em maior erro do que observar o outro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top