This piece by Lucas F Costa starts off right where I live:
There are many ways of estimating how long a software project will take. All of them are a waste of time.
It then goes on to describe a different way of doing it:
Instead of making “informed” guesses or multiplying estimations by N, we can embrace the randomness and variability involved in writing software and use more suitable statical methods, in this case, stochastic modeling techniques, to devise better forecasts. One of these techniques is the Monte Carlo method, which I’ll use to make projections in the rest of this post.