Em uma palavra - contingência.
Contingência é a quantia que você adiciona para "outras coisas" - as coisas que você não pode contabilizar em outro lugar na sua estimativa. O SMc cobre isso na estimativa de software? Não me lembro e minha cópia está no trabalho (estou de férias respondendo a isso - como estou triste) ...
De qualquer forma, de um modo geral, existem três tipos de contingência que eu recomendaria:
1) Contingência específica de risco - é aí que você identifica um risco específico e adiciona uma certa quantidade de tempo para cobrir o potencial excedente relacionado a ele. A primeira coisa a ser esclarecida aqui é o que é um risco - é algo que pode acontecer, que terá um impacto negativo no projeto, que está fora de seu controle .
Esta última parte é crítica - não é apenas "as coisas demorando um pouco mais do que eu pensava", é "o módulo de agendamento de terceiros que nos disseram que devemos usar, pois é um padrão da empresa que pode não estar à altura da tarefa". A maneira como você calcula a quantidade de contingência de risco a adicionar é a porcentagem de chance do risco expressa em decimal (portanto, 50% = 0,5), vezes o impacto desse risco (então, no exemplo, diga que você precisa escrever manualmente CRON trabalhos em vez de usar o agendador e isso levará 10 dias, esse número é 10 dias).
Portanto, se houver uma chance de 50% de seu risco se concretizar, e você precisará de 10 dias de esforço para contorná-lo, adicionando 5 dias. Adicione todos os valores para todos os riscos identificados no projeto e adicione-os ao total.
2) Merda Acontece Contingência - A melhor descrição que já ouvi sobre isso, mesmo que não seja elegante. É um projeto de TI, merda acontece. Nunca é como você pensa, as coisas demoram mais, são perdidas e assim por diante. Geralmente, a Contingência de SH estará entre 10% (mínimo absoluto) e 25% (embora possa ser maior), com 15% sendo típico, o nível exato depende do nível de incerteza e risco geral (mudança de metas, requisitos incertos etc.) )
Se o seu PM não aceitar a Contingência SH (e é possível, ele pode não ter experiência em projetos de TI ou ser um otimista cego), basta adicioná-lo a todos os valores individuais. Se ele souber o que está fazendo, terá um registro de riscos próprio e amará você por pensar nessas coisas. Certamente, se ele tiver algum tipo de qualificação de PM (como o PRINCE2), ele saberá disso.
3) Alterar Contingência - É aqui que você tem certeza de que o cliente fará alterações, mas não quer que seja um ponto de discórdia. Adicione X dias ou X% e ele entrará em um pote para as alterações que o cliente aumentar. Há duas maneiras de lidar com isso: ou você conta a eles e é deles que gastam ou não conta a eles.
A primeira maneira é melhor, mas precisa de um cliente razoavelmente educado e justo - as coisas são classificadas como mudanças e ele pode gastar seu pote como achar melhor (com base em você estimar as coisas à medida que elas aparecem).
A segunda maneira que você menciona é uma mudança, mas não tente cobrar mais dele. Você precisa anotar todas as coisas em que o gasta; se chegar ao ponto em que se esgote, você precisará voltar ao cliente e pedir mais tempo ou dinheiro, e eles dirão "espere, eu" estou pagando blá blá blá ", você pode apontar todas as coisas que eles já mudaram e que você não cobrou como sinal de que não está sendo totalmente irracional. Nem sempre funciona, mas quase sempre fortalece sua mão nas discussões.
Nenhum desses três cobre especificamente as coisas que você esqueceu, mas acho que entre elas você preencherá muitas lacunas que tem.