When I was younger my family went to Versailles; this was 15 years ago or so. I remember that we were walking up the path to the entrance and there were trees overarching the pathway and a little moat on either side. The little moat was solid green and my brother and I just knew that it was painted concrete. Then my brother threw a rock onto the concrete moat, and it sank. That concrete moat was algae on top of water.
On a mostly unrelated note, I was writing about the classification of risk and of scheduling based on that. And Jeroen wrote in to ask what we do when we don't know what we don't know. This got connected to Versailles in my head (wacky, I know!). Here's the thing: my brother and I sure thought we knew something, and we were completely wrong.
We didn't know what we didn't know.
Okay, finally back to the software!
It's all well and good to give high-risk items more time and low risk items pretty close to the estimate. But when you don't know the risk, that gets a lot harder to do. And when you think you know the risk but you're wrong, you're basically in the same boat. So what do we do then?
I don't really think there's any magic here. You cannot give a good estimate until you know how much you don't know. So you start working on reducing your unknowns and avoid giving an estimate. Do the work, and make sure you promise to "give an estimate on X date" rather than guessing on an estimate early on.
Does anyone else have ideas?