Nota: isso realmente se aplica apenas a projetos nos quais você fatura por hora versus uma taxa fixa / fixa.
Normalmente, tento planejar minha agenda para que ela consista essencialmente em um monte de SCRUM Sprints (usando ou não SCRUM). Na hora de fazer o cronograma, determino qual será o comprimento de cada sprint e quais serão os recursos do projeto. Normalmente, existem alguns recursos que precisam ser executados primeiro, então tento fornecer uma melhor estimativa (não confundir com otimista) para aqueles e quaisquer recursos que estejam no final do projeto terão estimativas generalizadas. Depois de mapear os recursos para os sprints, tento adicionar 1 a 2 sprints no final do projeto para explicar os recursos que deslizam para a direita e os que foram ignorados na reunião de requisitos original.
A chave para isso é que eu faço tudo isso transparente para o cliente antecipadamente, para que eles entendam por que os dois últimos sprints estão vazios ou pouco preenchidos. Pelo menos até este ponto, os clientes com quem trabalhei gostaram disso, pois sabem que há alguma margem na programação / finanças, pois a maioria deles sabe que as estimativas de SW tendem a ser menos concretas. Eles também sabem que, se não precisarmos do último sprint, mais ou menos, essas são horas que não faturamos. Com a transparência na forma como o cronograma é construído e o feedback regular sobre o andamento da execução do projeto, todos os clientes com quem eu fiz isso ficaram extremamente satisfeitos.