Como você é novato na tecnologia relevante e não está familiarizado com a base de códigos de baixa qualidade existente com a qual precisará trabalhar, é provável que a estimativa possa variar até certo ponto nas duas direções. Mas informe o cliente sobre o último motivo :-P
Primeiro, liste a infinidade de alterações / recursos que seu cliente solicitou. Para cada requisito, faça uma pequena revisão de código e pesquise sobre como implementá-lo e testá-lo. Você deve investir esse tempo sem retorno antes de fazer uma estimativa.
Segundo, faça 3 colunas para estimativa - melhor caso (probabilidade de 25%), caso médio (50%), pior caso (75%). Pelas 2 razões mencionadas no primeiro parágrafo, você pode escolher a estimativa do pior caso. Você pode adicionar até 20% de tempo do buffer. Por exemplo, para um requisito específico, sua estimativa de melhor caso é 2 dias, o caso médio é 4 dias e o pior caso é 5 dias. Adicionando 20% de tempo de buffer, sua estimativa é de 6 dias.
Terceiro, não dê um ponto fixo de estimativa, mas um intervalo. Para o exemplo acima, você pode informar ao cliente que a estimativa é de 4 a 6 dias. Seu cliente pode insistir na estimativa de toda a lista de alterações. Nesse caso, você pode adicionar os mínimos e máximos de intervalos para todos os requisitos. Em seguida, forneça uma estimativa final no intervalo, digamos 5 a 6,5 meses. Isso tem a seguinte vantagem: você pode exceder a estimativa para um requisito, mas pode concluir outro requisito anteriormente. No total, eles se cancelam e a estimativa final se mantém.
Quarto, ao concluir cada requisito do usuário e entregar de forma incremental, revise suas estimativas anteriores para cada requisito. Este é um processo contínuo e você deve ajustar / refinar a estimativa à medida que avança no projeto e sua experiência aumenta. Se você perceber que a diferença entre sua estimativa refinada e sua estimativa inicial está fora de controle, sente-se imediatamente com seu cliente e discuta o assunto.
Aprendi essas coisas com o livro "Estimativa de software: desmistificando a arte negra", de Steve McConnell. Sou grato a ele.