How to: confront your assumptions honestly
I can't tell you how long it will take to write this piece of software.
If you were to ask my collagues for a list of the top 10 people they know who can tell you how long it'll take to write a piece of software, my name would be somewhere at the top of that list, and I can't tell you how long it'll take to write this piece of software. I really can't.
I can estimate, but you won't like the fact that my estimates could be 1000% off. And those are good estimates, most of the time pretty accurate!
If you give me the full authority and resources to direct the development, I'll sure as heck produce something that will fulfill the expectations I heard you communicate to me at our first discussion, but it sure as heck won't fulfill your revised expectations! To do that, we'll have to play the whole game all over again.
I've come to think that we can never win by playing that game. I've come to think that we shouldn't play that game at all. That we should change the rules.
I don't yet know what the new rules should look like. We should probably take in moderation from promise-based management, Scrum, and develop more credible vocabulary to describe software quality.
What do you think?