No puedo imaginarme una situación en la que realmente no pueda hacer una estimación en absoluto; más a menudo existe el caso donde puedo imaginar múltiples escenarios que darían como resultado plazos de tiempo enormemente diferentes para el proyecto, dependiendo de varias cosas eso podría razonablemente surgir. Y no quiero mentir: lo peor que puedes hacer con tu jefe es inventar cosas.
Así que explico cada una de las posibilidades. Por supuesto, esto solo funciona con un jefe comprensivo, pero si su jefe es tan ignorante o insensato que se niega a escuchar la explicación completa, usted tiene otros problemas.
Por ejemplo, así es como lo hice para un caso reciente en el que realmente tuve que hacer exactamente esto.
x264, el codificador de video en el que trabajo, implementa una forma muy primitiva de codificación entrelazada elegida únicamente porque es muy fácil de implementar. Queríamos implementar la forma completa de esta codificación, pero no tenía idea de cuántas de las suposiciones hechas para la versión simplificada fallarían en tal caso.
Así que pensé en los distintos niveles de cosas que tendrían que cambiarse, e hice un cálculo aproximado, bueno, en el mejor de los casos, podría estar casi funcionando, pero eso es dudoso. Y en el peor, hay una tonelada de cosas que deben cambiarse. Así que, le dije a mi jefe, probablemente era mejor asumir lo peor aquí, ya que la especificación era muy complicada y, a pesar de no saber nada de esa complejidad, sospeché que dada la gran falta de código relacionado en el programa, casi nada de esa complejidad fue realmente implementada. Al final tenía razón, los cambios requeridos terminaron siendo bastante complicados, y subcontrataron el proyecto a un contratista con más experiencia en las complejidades de la codificación entrelazada H.264.
Voy a cerrar esta pregunta como fuera de tema porque no se trata de programación. –