Lidar com estimativas terríveis


63

Um projeto recente em que trabalhei foi comprovadamente subestimado pelo arquiteto. A estimativa foi de pelo menos 500%.

Infelizmente, fui incluído no projeto depois que a estimativa foi assinada com o cliente. Como desenvolvedor sênior, rapidamente percebi que as especificações funcionais e técnicas. continha algumas lacunas e incertezas enormes.

Como resultado, senti-me compelido a convocar uma reunião de emergência com os diretores comerciais e técnicos para informá-los da realidade. Como primeiro e principal desenvolvedor, achei esta uma situação muito estressante e difícil. O "negócio" acusou a TI de ser incompetente e de ser o mensageiro que recebi algumas "balas".

O cliente ameaçou cancelar a conta, mas até o momento o projeto ainda está inacabado e eu não estou mais diretamente envolvido com ele.

O arquiteto era um cara legal socialmente, mas com base nesse episódio era simplesmente incompetente ou havia grandes pressões de vendas / negócios influenciando sua estimativa.

Então, como programadores, qual é a sua experiência com esse tipo de situação e como você recomendaria lidar com isso?


11
Acho que sua resposta foi correta.

Algumas respostas impressionantes aqui!

4
Estou horrorizado com o fato de você ter chamado uma reunião de emergência com os diretores técnicos e de negócios. Por que não discutir isso dentro do projeto primeiro. Trabalhar em um ambiente em que todos escalam tudo é mais perturbador do que ter uma estimativa ruim. Se, como desenvolvedor, identificar os buracos em uma especificação, (ajuda), preencha o buraco, atualize a estimativa e deixe o líder do projeto explicar a situação ao cliente.

3
@ Bernie, Para esclarecer, a escalação foi para diretores da empresa (comerciais e técnicos), não diretamente para o cliente. Além disso, expliquei a situação (como a vi) ao gerente de projeto, que considerou minhas preocupações válidas e decidiu que a escalação era necessária. No entanto, ele sabia muito bem que isso poderia criar uma situação "difícil" e ficou feliz em me deixar assumir a liderança.

2
Às vezes, as pessoas fazem estimativas imprecisas - erros. Todo mundo comete erros, isso não significa que eles são incompetentes ou foram forçados a fazê-lo.
Angelo

Respostas:


53

Resposta longa, mas ei, eu tenho um resumo no final, então pule para o resumo se você não puder se incomodar em ler a coisa toda!

Como desenvolvedor, tive que lidar com a situação literalmente em todos os outros projetos, mas foi só quando mudei para o gerenciamento de projetos que aprendi a lidar com isso de maneira eficaz. Para mim, lidar efetivamente é sobre duas coisas: gerenciar expectativas e entender como a estimativa funciona.

Comece com uma premissa de que não é ético fornecer uma estimativa, comprometer-se com uma estimativa ou dar qualquer outra indicação da precisão da estimativa sem poder realizar primeiro a devida diligência. Outras pessoas confiam na sua capacidade profissional para prever uma quantidade de trabalho necessária, dando uma indicação falsa prejudicará a eles e seus negócios.

Mas você precisa dar algo, na vida real, você arrastou-se para uma reunião improvisada ou para um projeto atrasado, e seu superior provavelmente deixará claro que eles esperam que você apareça com alguma citação imediatamente ou comente a estimativa que eles forneceram. É aqui que o gerenciamento de expectativas entra em ação.

Explique que seria errado da sua parte fornecer qualquer figura ou indicação sem entender o problema e calcular os números por si mesmo. Diga que os números deles podem estar corretos, você simplesmente não sabe antes de fazer o exercício de estimativa. E mesmo que você tenha uma boa idéia do que é necessário lá e quando, diga que ainda precisa de algum tempo para calcular os números. Há apenas uma estimativa que eles esperam que você faça: quando você poderá fornecer uma estimativa. Por todos os meios, forneça esse número.

Como desenvolvedor, nunca assuma a responsabilidade por (ou dê indicações que possam ser interpretadas como aceitação) de outras estimativas de pessoas sem poder revisá-las primeiro. Como gerente de projeto, é uma questão totalmente diferente, porque, na verdade, você tem algum controle sobre o processo de estimativa: a maneira como uma estimativa é derivada e revisada e você precisa contar com outras pessoas para realizar o trabalho real e precisa fazer Certifique-se de que eles estão comprometidos.

Nunca comente as estimativas sem poder fazer a devida diligência. Isso é ético. Um advogado ou médico deixará absolutamente claro que eles não podem dar nenhum conselho, a menos que um cliente (ou paciente) cumpra suas regras e passe primeiro por um procedimento de avaliação. Da mesma forma, você tem o direito de satisfazer suas perguntas antes de dar uma opinião profissional.

A segunda parte é sobre como funciona a estimativa. Sugiro pesquisar várias abordagens para fazer estimativas e como funciona o processo de estimativa, incluindo outras indústrias além do desenvolvimento de software (manufatura, mercados financeiros, construção). Isso lhe dará uma idéia do que pode ser razoavelmente esperado de seu chefe ou cliente e, estranhamente, ajudará a fazer previsões mais precisas sobre a quantidade de trabalho. Isso aumentará sua capacidade de defender suas estimativas e você precisará defender os números sempre que forem diferentes dos fornecidos por um arquiteto ou um vendedor.

Normalmente, o modo como funciona é que sua estimativa seja primeiro digitalizada para itens com aparência estranha ou relativamente grandes. Portanto, esteja preparado para defender qualquer coisa com nome "não padrão". Também divida tarefas maiores para que todas as tarefas tenham a mesma ordem de magnitude, ou seja, se a maioria das tarefas demorar 2 dias e uma única tarefa for 10 dias, prepare-se para realizar a perfuração.

Seja claro sobre o que está incluído em cada tarefa, é melhor dividir os testes de desenvolvimento e de unidade, em vez de apenas ter o desenvolvedor e alguém assumir que isso inclui documentação. Obviamente, dessa maneira, você precisará produzir uma estimativa de granulação bastante fina.

A seguir vem a perfuração. Como é bastante difícil revisar uma longa quebra de trabalho, é provável que seu cliente ou chefe adote uma estratégia diferente: concentre-se em algo aleatório sobre o qual eles possam conhecer algo e detalhar até conseguirem desacreditar toda a estimativa ou ficarão satisfeitos com o seu respostas. A credibilidade de toda a estimativa pode depender de uma amostra aleatória! Portanto, mais uma vez, você precisa de tempo para prepará-lo com cuidado, incluir apenas os bits relevantes, excluir quaisquer extras ou movê-los para uma seção “bom de ter” e pensar em como você defenderá os números.

Obviamente, você pode ser consistente em sua abordagem, ou seja, estimar com base em recursos, número de telas etc. ou ter uma mistura de abordagens, mas, em qualquer caso, esteja preparado para defender por que você selecionou uma certa maneira de estimativa. Esteja também preparado para explicar por que seus números são diferentes da tentativa de qualquer outra pessoa de prever a quantidade de trabalho necessária.

Aprenda os sinais óbvios de estimativas fracas:

  • Preenchido com tarefas gerais comuns, copiadas do modelo (boas estimativas são específicas da tarefa em questão).

  • Estimativas grosseiras (ou seja, tarefas com mais de dois dias).

  • Estimativas feitas no estágio inicial de um projeto ou por alguém que pode não ter conhecimento real dos requisitos ou do trabalho envolvido.

  • Estimativas compiladas por pessoas que não sejam realizadores

  • Estimativas vagas (não está claro o que está incluído e, igualmente importante, excluído).

  • Diferença substancial na ordem das magnitudes das tarefas.

Prática em avaliar estimativas de outras pessoas e detalhar os números sem o conhecimento real dos detalhes da implementação. Isso ajudará a apoiar sua reivindicação por mais tempo, quando pressionado com a solicitação para confirmar a estimativa de outra pessoa quando você não tiver provas concretas.

Para resumir:

  • Não se comprometa com uma estimativa terrível ou com qualquer estimativa antes de ter a oportunidade de fazer a devida diligência.

  • Deixe claro desde o início, não deixe ninguém assumir que é de outra maneira e interprete seu silêncio como um sinal de concordância.

  • Saiba como os vários métodos de estimativa funcionam, sua aplicação prática e seus méritos, incluindo esses de desenvolvimento de software externo.

  • Esteja preparado para defender sua estimativa.

  • Aprenda a avaliar as estimativas de outras pessoas para que você não precise se comprometer com números muito imprecisos.


Sugestão: bom estilo (pelo menos na redação de jornais ;-) é colocar o resumo primeiro e depois acompanhar os detalhes / antecedentes de apoio.

Esta é uma ótima resposta e muito útil. Uma das melhores respostas sobre SO.
Alex Angas

27

É impossível prever o futuro. Exigir uma previsão ("estimativa") é simplesmente pedir problemas. Todo mundo faz isso, e todo mundo erra.

Seu julgamento de "sair em 500%" provavelmente é tão errado quanto a estimativa do arquiteto. Afinal, "... até o momento o projeto ainda está inacabado ..." Não há fatos disponíveis aqui.

Ninguém sabe a resposta "correta". E até que seja feito, ninguém saberá.

E mesmo depois de concluída, a estimativa "original" (com ou sem controle de alterações) pode não se correlacionar com nada que foi realmente realizado.

A estimativa é uma armadilha - é um jogo fraudulento. você não pode vencer, não pode empatar e nem sair do jogo.


Editar

Lidar com estimativas ruins; Uma estimativa "herdada" que parece errada .

Aí está. Você não concorda com as estimativas de outra pessoa. Ou eles omitiram algo que você acha necessário; eles tinham um escopo de trabalho diferente do que você tinha ou uma taxa de produtividade diferente. Além disso, se a estimativa for mais do que apenas esforço, eles terão uma base de custo diferente. Todos os quais são discutíveis. Portanto, discuta os detalhes que antecederam a estimativa. Não discuta o número geral - não há informações reais em um resumo. Disputa detalhes individuais que sustentam a estimativa. Descubra o que eles estavam pensando.

É tão provável que suas suposições sejam tão erradas quanto as suposições deles. Igualmente provável.

Quando solicitado a estimar .

  1. Você vai estar errado.

    1. Eles mentem sobre o escopo do trabalho.

    2. Você não conhece a produtividade da equipe.

    3. Qualquer que seja a nova tecnologia envolvida, foi deturpada.

  2. Você não pode simplesmente usar estofamento para cobrir essas coisas aleatoriamente. Você realmente não sabe e não tem base para "estimar". É apenas adivinhação. Deixe isso para trás.

Regra 1: Como você está apenas adivinhando, adivinhe em pequenos incrementos.

A questão fundamental em qualquer situação de "estimativa" não está prevendo o futuro. Você não pode fazer isso com precisão durante períodos de tempo muito superiores a uma semana ou duas. Limite suas previsões a um horizonte temporal no qual você tenha algum conhecimento detalhado direto e imediato. Por exemplo, o próximo lançamento.

A questão fundamental é - geralmente - a tomada de decisões por parte de seus compradores ou clientes. A questão não é "quanto custa?" - isso está incompleto. A questão é "o investimento valerá a pena?" A verdadeira questão está mais na linha de "qual é a relação custo / benefício" e "quando devemos parar de gastar porque mais investimento não gera mais retorno?" Essas são as verdadeiras perguntas.

Regra 2: Apoie o tomador de decisão com informações factuais.

A maioria das pessoas é melhor atendida por uma abordagem ágil. O primeiro lançamento - daqui a um mês - levará 5 pessoas × 4 semanas e renderá o recurso X que corrige as perdas de US $ 1 milhão / dia e o recurso Y que corrige as oportunidades perdidas de US $ 200 mil / semana. Você tem conhecimento detalhado do que está fazendo, portanto essa previsão faz sentido. O lançamento depois disso é um pouco nebuloso.

O lançamento daqui a um ano é tão distante no futuro que qualquer previsão em apenas um número aleatório. Não se preocupe com detalhes de mais de 6 meses no futuro, basta usar regras simples.

Quando eles perguntam o que é o TCO, você tem que ser honesto. "O custo total ocorre quando você para de pagar pelo desenvolvimento. Até você parar de pagar, sempre haverá custos".

A verdadeira questão é "que problemas você está tentando corrigir?" ou "que nova oportunidade você está buscando?" e "quanto vale isso?"

Regra 3: torne o software menos oneroso do que o problema que ele deveria resolver.

Se você não conhece muito bem o problema, a estimativa será ajustada para se ajustar à percepção. Tente evitar isso.


Em Probabilidade . Exceto por doenças ou acidentes debilitantes, nenhuma parte do desenvolvimento de software é governada por probabilidades reais. Os "riscos" são simplesmente uma má gestão. Geralmente da forma "não levamos em conta a complexidade da necessidade comercial A ou da tecnologia B". Com mais freqüência da forma ", à medida que aprendemos mais sobre o problema ou a tecnologia, alteramos o cronograma", que é punido como "oscilação do escopo".

Não há probabilidade de aprender coisas e mudar o escopo. Isso é uma certeza.

No planejamento . Há "planejamento" e há "estimativa". Planejar o que construir é uma coisa, melhor representada como uma lista de verificação ou um gráfico de dependência. "Estimar" o esforço necessário é baseado em fatores desconhecidos.

"Planejamento" é uma boa administração comum.

"Estimativa" requer conhecimento incognoscível. Para "estimar o esforço" com precisão, você deve ter um nível de conhecimento do código-fonte sobre o produto e saber qual pessoa digitará esse código-fonte e quais erros a pessoa cometerá. Como você não pode saber disso, qualquer estimativa deve estar errada. E muitas vezes errado o ponto de enganar e, portanto, inútil.

Se a estimativa expirou em 500% e o projeto ainda avançou, que valor tem uma estimativa?

Nenhum. Tudo o que fez foi deixar as pessoas infelizes. Mas o projeto prosseguiu de qualquer maneira.

Como ninguém pode ver o futuro, obter uma estimativa correta não significa nada. Torne-o útil, ajude as pessoas a tomar decisões.


Mantenha o horizonte curto. Entregue valor o mais rápido possível. Crie um plano que permita ao cliente cancelar o projeto a qualquer momento e ainda ter valor.

Não deixe que o plano se torne a única "verdade sagrada" no projeto. A funcionalidade de entrega é sagrada. Tudo o resto deve mudar à medida que as entregas mudam.

Não deixe o plano ir além do valor que está criando.


Esses 500% são do início do projeto até esta semana. É preciso, que é a menos que o projeto continua por mais alguns meses, caso em que 1.000% pode ser mais precisa;)

11
De qualquer maneira, "pelo menos 500%" ainda é preciso!
31909 Jon Skeet

11
@ Ash: aqui está o que estou dizendo: pare de se preocupar com isso. O projeto avançou com estimativas ruins porque as estimativas NÃO IMPORTAM. Todas as estimativas são terríveis. Eles estavam errados. Seus 500% ainda são subestimados, portanto você está errado. Todo mundo está errado. É um jogo que você não pode vencer.
315/09 S.Lott

11
@Totophil: estimativa não é necessária. É apenas desejado, e apenas em alguns círculos. Essa pergunta é toda a prova necessária para que os projetos avancem com estimativas inutilmente erradas. Se a estimativa NÃO foi um fator decisivo no projeto, que valor tinha?
245/09 S.Lott

11
@ Ash: Neste caso, o "resto do mundo" IGNORADO a estimativa e prosseguiu de qualquer maneira. Os fatos do caso indicam que a estimativa não importava. A saúde de alguém NÃO deve estar em risco - as estimativas são um jogo estúpido. Eu costumava ficar com nojo, agora tento me divertir.
245/09 S.Lott

20

Se não houver tempo suficiente, não há tempo suficiente. Não existe uma solução mágica para terminar o projeto de qualquer maneira. Na minha opinião, você fez o que poderia estar declarando. Aconteceu que eles tiveram que descobrir da maneira mais difícil. É assim que costuma acontecer. Esperamos que o arquiteto e a gerência tenham aprendido com seus erros e não o façam novamente. Se isso é normal, quando a gerência é muito ignorante para ouvir seus argumentos e tomar as medidas apropriadas, pode ser uma boa ideia procurar outros projetos ou outra empresa.

"Desenvolvedores são artesãos, e a pior coisa que você pode fazer a um artesão é que ele entregue um produto ruim." Citações famosas de algum lugar, mas não me lembro de onde.


Sim, acho que a gerência ficou um pouco surpresa quando os procurei e expliquei a realidade da situação (eu tinha métricas e evidências para comprovar isso). Ainda acho que terá alguns benefícios para a "próxima vez".

Concordo se você explicar a realidade que eles vão lembrar de você para os próximos projetos e valorizar os seus comentários :)
Shoban

Nice quote! Encontrei este artigo softwarebyrob.com/2006/10/31/… que provavelmente é a fonte.
22320 Bill Karwin

6

Honestidade sempre deve ser honrada. Eu estava no final de uma "visão de arquiteto" e, quando o desenvolvedor me chegou com a terrível notícia de que toda a solução não funcionaria, fomos às unidades de negócios e tivemos uma conversa terrível. O desenvolvedor então apresentou uma nova estimativa, composta por 80% da funcionalidade, mas foi entregue dentro do prazo e do orçamento.

As unidades de negócios foram conquistadas pelo fato de o desenvolvedor falar sinceramente com elas, reconhecer as falhas de sua empresa e trabalhar como um cachorro para entregar. Nós tivemos esse cara trabalhando para nós nos últimos 7 anos, porque ele sempre foi honesto.

Todo o cenário é tão raro - na maioria das vezes as unidades de negócios pensam que você é um idiota por não conseguir entregar. Você precisa procurar os clientes que não operam dessa maneira, pois você ganhará mais com eles a longo prazo do que tentaria agradar aos cretinos que querem apenas tratá-lo como um idiota.

No que diz respeito aos arquitetos que não conhecem seu campo, evite-os como uma praga. Eu tive um mentor que costumava reforçar comigo de uma maneira dura - "Isso. Não é. Para. Prática!" Ele toleraria erros apenas se você os cometesse cedo, os corrigisse e nunca os cometesse novamente. As empresas que permitem que pessoas não técnicas e inexperientes ocupem cargos com clientes porque podem "se comunicar" merecem sair do negócio.


5

Eu já havia enfrentado essa situação. Um projeto ficou fora do cronograma porque os negócios alteraram os requisitos e houve uma lacuna na comunicação e a gerência sênior quis o projeto no prazo. Para piorar, um cara que estava trabalhando nesse projeto foi retirado para preencher outra lacuna que tinha mais prioridade.

Minha equipe estava passando noites para terminar o projeto. Tarde da noite, por volta das 3:00 da manhã (eu trabalhava 19 horas seguidas), enviei um e-mail aos meus gerentes para fazer algo a respeito.

No dia seguinte, tivemos uma reunião (apenas os caras do desenvolvedor). Toda a equipe entrou em um fim de semana e testou o projeto antes mesmo de ser concluído. Poucos outros se juntaram à equipe para fazer correções rápidas. Por fim, conseguimos entregar o projeto com o esforço de toda a equipe (não apenas da equipe do projeto). Seguimos o mesmo processo para outros projetos.

Toda a equipe (mesmo que não esteja envolvida no projeto) testou o aplicativo e ajudou na rápida correção de bugs.

Nota: Minha equipe é composta por cerca de 25 pessoas, que novamente tiveram sub equipes trabalhando em diferentes projetos.

Meu único conselho seria "Fale com o gerente. Diga-lhes firmemente que o projeto não pode ser entregue no prazo. Também ofereça uma alternativa. O gerente sempre espera que o bebê seja entregue no prazo, não importa o que :)"


5

Embora as empresas nem sempre gostem da verdade de que as coisas demoram muito mais do que o esperado, elas preferem ficar ainda menos. Quanto mais cedo você deixar alguém saber quanto tempo realmente vai levar, mais rápido todos poderão planejar as circunstâncias. Embora inicialmente possa ser um período difícil, a longo prazo será mais fácil. Apenas acerte na segunda vez e construa contingências.


4

Deixe-me enfatizar um ponto-chave ao lidar com sua gerência: os gerentes apreciam soluções.

Se você tiver que ir à sua gerência com um problema (por exemplo, a estimativa não é realista), trabalhe com antecedência para incluir alternativas de como lidar com a situação. Por exemplo, você pode fazer uma análise de Pareto (a regra 80/20) para entender o valor do sistema, defender um recurso prioritário para cortar recursos (pelo menos desde a primeira versão) para se concentrar naqueles com o máximo valor comercial, você pode procurar alternativas (projetos de código aberto etc.) que sejam substituições adequadas para peças personalizadas do sistema etc.

Não há dúvida de que uma sacola de cinco libras não comporta 25 libras de areia, mas parte de ajudar sua gerência a absorver sua mensagem desagradável está oferecendo evidências de que você é um aliado noivo.


Isso é muito próximo do que eu realmente fiz. Tentei continuamente tomar o ponto de vista do cliente nas discussões com a gerência para garantir que eles soubessem por que eu via esse problema. É bom tê-lo validado, obrigado.

3

Você pode estar interessado neste artigo do IEEE sobre o qual escrevi anteriormente. Aqui estão os destaques.

  • Um dos maiores motivadores para o fracasso do projeto são as estimativas excessivamente otimistas.
  • Uma grande razão pela qual as estimativas são muito baixas é muita pressão por parte do topo para que seja entregue com antecedência.
  • O outro é o aumento do escopo durante o implemento, sem uma nova visita às estimativas.

3

Em primeiro lugar, conversava informalmente com o arquiteto em questão e fazia uma lista dos seus problemas com a estimativa dele, e tentava convencê-lo onde estão os problemas e a diferença de tempo que eles levariam para resolver.

Então eu tentaria ir ao seu gerente de linha / gerente de projeto e discutir com ele.

No final do dia, o arquiteto forneceu ESTIMATES, para que eles estejam sujeitos a alterações e, às vezes, em grandes quantidades, desde que sejam informados, para que possam fazer planos alternativos, como lançar um produto no fases, reduzindo sua funcionalidade ou outros meios.

No final do dia, depois de fazer o acima, não será mais sua responsabilidade.

Definitivamente, você não deve ir diretamente ao cliente ou ao chefe dos arquitetos, isso apenas promove sentimentos ruins e, quase sempre, você recebe a culpa.


Sim, mas sempre deve ser fornecida uma estimativa com um valor de pior / melhor caso. Se ele tivesse dito o melhor: 5 semanas, o pior: 4 meses, eu não teria do que reclamar. O fato de seu pior caso (a parte importante) ter sido realmente eliminado em 500% é a coisa mais preocupante.

Certamente é preocupante, mas ele pode ter sido pressionado a dar um número. (Certos gerentes de projeto insistem nisso.) O escopo do projeto poderia ter mudado, ou várias outras coisas. Ou, como você diz, ele pode ter dado uma estimativa ruim. Independentemente disso, não há razão para queimar pontes.
23409 Bravax

11
Definitivamente houve pressão, no entanto, como arquiteto, isso faz parte do trabalho.

2

A melhor coisa que você pode fazer é aprender com suas estimativas ruins (não a sua pessoalmente, neste caso). Uma coisa a aprender é nunca deixar alguém que não seja a pessoa que implementa as ideias estimar quanto tempo levará. As velocidades dos programadores podem variar em uma ordem de magnitude, portanto, estimar para outra pessoa é quase impossível.



2

No passado, eu tinha que lidar com os gerentes de projetos que cortavam as estimativas para atingir um valor que o departamento de vendas achava que o cliente pagaria. O gerente considerou que era melhor pedir perdão do que pedir permissão.

É por isso que os desenvolvedores aprenderam a preencher suas estimativas, porque sabem que serão cortados por seus gerentes. Portanto, se você dobrar a estimativa e adicionar 30%, terá uma boa chance de obter um cronograma razoável.

Os clientes sempre o querem mais barato e, se você chegar a eles com uma estimativa razoável, eles se recusarão e exigirão que você corte o custo ou ande. Mas, se você for alto demais, eles simplesmente caminharão sem discussão ("Nós consideraremos e voltaremos para você").

É um jogo de expectativas gerenciadas.


Olá, ciclo vicioso. Quando você diz "precisamos de 6 meses" e ainda termina em 3 pela segunda vez, o PM inteligente começará a cortar suas estimativas pela metade.
jmucchiello

2

O problema não era que as estimativas originais estavam fora - é que a gerência não acreditava em você.

A melhor maneira de fazer com que a gerência tome uma decisão é:

  1. Descreva o problema com evidências para fazer backup dele; e
  2. Forneça várias soluções para eles escolherem (da ordem menos preferível à mais preferível).

Pois (1) implementar o Scrum e rastrear dados reais com base nas estimativas desonestas funciona bem para fazer backup de suas reivindicações.

Para (2) uma das minhas opções seria "Desenvolver uma lista de recursos priorizados com o cliente (também conhecido como Product Backlog em termos do Scrum)". Isso seria complicado em organizações de preço fixo ou altamente burocráticas, mas é possível .

Espero que ajude!


2

Eu (como tenho certeza de quase todo mundo que codifica) simpatiza. Minha última empresa foi péssima com isso - os vendedores entraram e venderam um projeto, e então você entra, vê as estimativas e apenas ri.

Como Tomh mencionou - há apenas muito tempo em um dia. Mesmo que você não durma.

Três coisas, eu acho.

Na maioria das vezes, você só precisa gerenciar as expectativas do cliente e ser transparente . Seja franco com o que você pode fazer e mostre o que você fez - tudo isso. Isso é especialmente verdadeiro se você receber requisitos muito grosseiros (como Totophil mencionou.) Se eles puderem ver a quantidade de trabalho que você teve que fazer, poderão ver quão ruim foi a estimativa. Se eles veem produtividade e progresso, isso é mais importante do que qualquer coisa na minha experiência.

Penso que, além de gerenciar as expectativas e ser transparente em sua carga de trabalho, a outra grande coisa é o gerenciamento de escopo . Há uma grande área entre ser anal / ofensivo em ser um nazista de escopo e cobrir seu próprio rabo. Quando alguém quiser esse recurso ou funcionalidade extra - aceite! E, em seguida, faça uma estimativa relativamente precisa de quanto tempo será acrescentado ao projeto (ou ao próximo lançamento). A vantagem disso não é apenas não se acumular em outras 80 horas semanais - você também pode ter alguma estimativa dessa estimativa. alcançar o outro.

Boa sorte!


Você quer pessoas de vendas agressivas, porque as não agressivas são inúteis. A gerência precisa manter um controle sobre o que eles podem prometer. Eu costumava trabalhar para uma empresa que não cumpria as promessas de trabalho personalizado, e existe um relacionamento causal lá.
25715 David Thornley

1

Nunca assuma nada sem vê-lo ou entendê-lo. Se o cliente, ou sua própria empresa, não estiver disposto a pagar tanto por você, eles não o estão configurando para ter sucesso.

Isso foi (e geralmente é) uma falha no entendimento dos detalhes, dados e como eles interagem em todo o aplicativo que está sendo construído. São feitas suposições em vez de fazer perguntas, encontrar respostas e pregar tudo.

Uma coisa que digo frequentemente aos meus clientes é que, se você vai me enforcar, pelo menos deixe-me me enforcar com minha própria corda ou me atire com minha própria arma e balas, não com outras pessoas.

Ter uma porta giratória de pessoas tentando resolvê-la será muito pior para elas.

O planejamento irreal, ruim e falta de previsão podem ser sinais de um problema amplo de uma organização; nesse caso, é melhor você se acostumar com isso ou seguir em frente.


1

Primeiro, considere a possibilidade de superestimar o escopo do projeto. Vendedores e arquitetos tendem a exagerar suas soluções. Não os leve pelo valor nominal; eles provavelmente esperam que você crie menos do que prometeram ao cliente.

O que eu faria aqui é levar o tempo que tenho e gastá-lo da maneira mais sábia possível. Descubra as prioridades do cliente e cumpra-as. Nove em cada dez vezes, o cliente ficará feliz por suas principais prioridades terem sido cumpridas e negligenciará os 80% do trabalho que não foi realizado.

A última coisa que você quer fazer é convocar reuniões de emergência e acusar as pessoas de serem más. Você diz:

"que eles saibam a realidade"

mas a realidade é apenas uma opinião! Relaxe, faça seu trabalho e gaste seu capital político em coisas importantes para você . Como promoção, mais dinheiro, mais feriados.

Seu chefe negociando uma promoção para você trabalhando muito duro com o cliente faz sentido. Você enlouquece em nome de um cliente não.


Você está dizendo seriamente que fazer promessas ao cliente e depois assumir que temos a flexibilidade de gerar menos, vai dar certo? A realidade não é "uma opinião" quando você realmente conseguiu comparar onde a estimativa dizia que estaríamos versus o que realmente aconteceu.

1

Uma coisa a lembrar é que as estimativas não incluem aumento do escopo ou atrasos inevitáveis ​​(ou problemas com base no cliente que não lhe dá o que eles disseram que fariam, como um arquivo de informações em um formato específico).

Aprendemos a adiar a estimativa e / ou a data de vencimento toda vez que uma dessas coisas acontece. Adicione um novo recurso, obtenha uma nova estimativa e uma nova data de vencimento. Se não fornecer as informações necessárias na data acordada, obtenha uma nova data de vencimento. Forneça as informações, mas as torne incompletas ou incorretas ou de qualquer outra forma que não o prometido, envie uma nova estimativa e data de vencimento, altere os requisitos dos recursos acordados, obtenha uma nova estimativa e data de vencimento. Pare de trabalhar no projeto porque o cliente queria que você trabalhasse com uma prioridade mais alta, envie uma nova data de vencimento (e possivelmente uma nova estimativa, pois haverá tempo de recuperação se o projeto estiver em espera por muito tempo).

Se a estimativa original veio de fora do grupo de desenvolvimento e não foi consultada, então, quando você a obtiver, prepare uma estimativa própria (em um nível detalhado de todas as tarefas que você acha que terá - em um nível muito mais alto de detalhes do que a estimativa que você recebeu) e forneça-a imediatamente na cadeia e pergunte o que você deve cortar para atender à estimativa que você recebeu.

Se a resposta não for boa, insista para que o cliente seja informado da nova estimativa, agora que examinamos o assunto com mais profundidade. Se a gerência ainda insistir que o cliente pagará apenas X horas, pergunte a ele quem pagará pelo restante das horas de desenvolvimento, porque o trabalho descrito a você não pode ser feito por menos que sua estimativa. Pode acontecer que a empresa esteja disposta a sofrer o impacto e a pagar pelas próprias horas.

Se eles não estão dispostos a lucrar com isso e não dizem ao cliente que precisam de mais horas, e a empresa não apóia as estimativas detalhadas da equipe de desenvolvimento sobre as vendas "", o que achamos que o cliente irá buscar para ganhar a estimativa do projeto ", você está em um projeto de marcha da morte e sua melhor aposta é sair o mais rápido possível. Você pode salientar que o cliente ficará mais feliz sabendo que o projeto levará mais tempo o mais rápido possível do que quando você passar as 50 horas que eles concordaram em pagar e não está nem perto de terminar com os 500 que realmente precisava. Lembre-os de que estimativas excessivamente otimistas são um dos maiores preditores de falha do projeto. Não funcionará com esses tipos de empresas, mas talvez acabe se você repetir o suficiente.


Conselho bom e prático. Etapas e alternativas detalhadas são sempre melhores do que "simplesmente saia, elas são más". Na verdade, toda a discussão sobre estimativas me lembrou o bom e velho steve-yegge.blogspot.com/2009/04/… , a parte que começa com "Dia 1: (executivos)".

0

Eu também levaria em conta o refinamento da estimativa. Quero dizer "como eu o vejo agora, este projeto levará X horas-homem". Depois de 20-30%, vou re-estimar e assim por diante.

Afinal, como um downloader de arquivos faz sua estimativa? Ele constantemente o refina.


0

Eu acho que estimadores insuficientes não colocam ênfase suficiente nos fatos de "Estimativa, você está me pedindo para fazer matemática e suposições para prever o futuro de uma maneira útil" e "O compromisso que assumimos é completamente separado da matemática que fazemos para faça a estimativa; podemos concordar em fazer uma quantidade estúpida de trabalho, concordar com as coisas que vemos que provavelmente não podemos terminar, mas nada disso realmente muda a matemática da solução "e" podemos fazer metodologias de desenvolvimento que não são gigantes o lote de recursos A será realizado na data B, que tornará a falha muito menos provável "

Muitas estimativas são apresentadas na linguagem da negociação. Eles precisam ser expressos na linguagem da matemática e falando sobre as incertezas da matemática .

O estimador nada pode fazer para que a realidade se incline à vontade dos empresários que o negociam. Seu único trabalho é fazê-los parar de tentar.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.