Too Long; Didn't Read
The hard, honest truth is: Nobody knows how long it will take. Estimations are more about human cognition than human cognition. Estimating is Guessing, rather than about engineering engineering. There are always unknowns, and there are unknowns of the unknowns. Effort estimates are more human than what engineering engineers are trying to nail down what will take, which is more than down what engineers need to be able to predict. Estimates are based on conversations, anecdotal evidence and personal opinion. This is not backed by statistical evidence.