Perhaps instead of "we must get better at estimates" we should try "let's become less dependent on fortune telling."
The three(?) most important things you need to be able to do with code: 1) Read it easily 2) Reason about it clearly 3) Replace it quickly
Any doubt who Amazon supports? Not you: "Amazon removes encryption from its Kindles/phones/tablets" bit.ly/24DNuHS
Software "reuse" as a primary goal is chasing a unicorn. Better: disposable code. Things change, shld be cheap&ez to replace.
"Knowledge is knowing that Frankenstein is not the monster. Wisdom is knowing that Frankenstein is the monster."