Montamos 2 ou 3 sessões de estimativa com o cliente em potencial e nossos desenvolvedores, onde discutimos o trabalho em questão e definimos os critérios de aceitação. Os desenvolvedores estimam o trabalho em pontos da história durante a reunião.
Depois, vendemos ao cliente vários pontos da história. Isso é possível porque ele tem uma boa idéia do valor dos pontos da história. Dizemos a ele que ele tem a possibilidade de ajustar seu backlog / escopo durante o projeto e que será fácil devido ao uso dos pontos da história. Também dizemos a ele que haverá uma entrega frequente de software em funcionamento para que ele possa monitorar o progresso e obter novos insights.
Ao concordar com vários pontos da história, o cliente garante um valor pelo seu dinheiro. Se ele não alterar sua lista de pendências, ele terá seu projeto de preço fixo / escopo fixo, mas minha experiência é que ele fará alterações. Ao fazer as estimativas na presença do cliente em potencial, tentamos construir um relacionamento baseado em abertura e confiança.
Conseguimos convencer os clientes, como você descreve, que "querem um orçamento e um prazo", e eles ficaram felizes porque queríamos realmente entender o que precisavam, em vez de trabalhar com um documento. Mostramos que queríamos investir nesses projetos.
Durante as sessões de estimativa, estimamos todo o atraso. Isso deu x pontos da história. Sugerimos adicionar 25% para os recursos que ainda não eram claros ou conhecidos na época. Com a lista de pedidos estimados anexada ao contrato, eles tiveram a certeza de que receberiam tudo pelo orçamento fixo.
Originalmente, a oferta era de tempo e material. Como eles queriam ter um lance de preço fixo, sugerimos trabalhar pelo preço que damos a eles e usar os 25% de pontos extras da história para contingência. Se tudo corresse bem, a parte dos 25% que não foi usada para cobrir os atrasos que encontramos seria usada para fornecer mais funcionalidade ao cliente.
Isso os estimulou de várias maneiras: primeiro, eles fizeram todo o possível para permitir que nossos desenvolvedores trabalhassem o mais rápido possível, pois isso claramente era do seu interesse. Nunca tivemos que esperar respostas para perguntas. Em segundo lugar, eles realmente entenderam o conceito dos pontos da história. Antes do início do projeto, eles já haviam removido algumas histórias e nos pediram para estimar outras histórias. Não foram necessárias negociações complicadas para isso.
Nós os mantivemos informados sobre o progresso e mantemos uma comunicação muito aberta. Eles recebem um relatório de progresso a cada 2 semanas: x% dos pontos da história feitos em y% do tempo estimado deixa z% dos pontos extras da história disponíveis. Tivemos um começo um pouco difícil, mas conseguimos acompanhar as estimativas até o final do projeto, o que deixou 100% dos pontos extras da história disponíveis para desenvolvimento extra. O cliente ficou satisfeito porque conseguiu tudo o que realmente precisava (e isso foi um pouco diferente dos recursos solicitados inicialmente, ele removeu alguns e adicionou outros).
O cliente também ficou satisfeito porque tudo foi entregue no prazo previsto (onde ele também fez todo o possível para nos ajudar a buscar tickets, responder perguntas imediatamente, envolver os usuários em reuniões semanais de análise e envolvê-los em testes funcionais).
Minha empresa ficou feliz porque entregamos dentro do prazo e do orçamento. Minha empresa também ficou feliz porque o sucesso desse projeto abriu as portas para mais projetos. Chegamos a ser mencionados na revista mensal do cliente, enviada a pessoas em todo o mundo.
Fazer boas estimativas foi a parte mais difícil do projeto, mas ter as sessões de estimativa antecipadas nos ajudou a entender a dificuldade e os riscos. Isso nos permitiu dar uma estimativa baseada em fatos e removeu muitas das incógnitas.