How much time do we have?
I started programming about 15 years ago. Worked on some obscure (read: useless) open source projects on my own. About 5 years ago, fresh out of university, I started working as a developer. You know, professionally, on real projects for real clients.
I’ve seen many projects. Some of them I worked on, many others I didn’t.
90% of these projects had one thing in common:
Estimates were wrong!
And I’m not talking about one or two days off. I’m talking weeks, sometimes months. Sometimes late, sometimes in advance. In some cases, the developers paid the price, working overtime to recover, getting tired, depressed, angry…
In every case, however, the client also paid some price.
If the estimates were too big, the client simply paid too much.
If the estimates were too small, the product was developed by tired, depressed developers, corners have been cut “to save time”, that didn’t save any. All in all the result is, at best, stable.
I’m talking about my own findings here, but I’m pretty sure other developers, project managers and product owners can relate to it. Heck, even house building projects always seem to be late. After all, “estimates” are just that, estimates.
I think it’s time we stopped asking for time estimates.
I think what you want is a commitment.
And I’m sorry, but I can’t give you a deadline or a price. Because shit happens. Because IT is not an exact science after all. Because your old system doesn’t behave as expected, because a key person in the project will get sick or is just being a human — you know, busy with kids or a in tricky personal situation. In any case, the requirements will change before the end of the project, and you know it.
If what you want is a commitment, they yeah, I can commit. I’ll do my best for whatever time you give me. I love your project, that’s why I want to work on it. I want to build something beautiful, something I’m proud of. But I need to live, to pay my rent, my food, so I just can’t afford to spend an extra 100% of the time on it for no money.
I’m not even the only one to say it! Just google it (or better yet, duckduckgo it): “Planning is guessing”.
Stop asking for estimates. Tell me how much time you want me to spend on your project, and together we’ll build something awesome!