>Doing freelancing work is one of the quickest ways to force yourself to learn how to do good (and fast) estimation of projects. Estimation skeptics into believers very quickly when it’s their own money at stake.
Freelance work has never once worked for me like this. Coz it's my own money at stake I bill by the day.
Even if I could provide 100% accurate estimates (impossible) the following assumptions never hold true:
* The client has a clear picture of what they want up front.
* The client won't change their mind about what they want along the way.
* Circumstances won't force the client to change their mind about what they need from you.
* Hidden traps won't suddenly spring up (regulatory, technological, etc.).
I quickly learned in my early 20s that offering a client a fixed price for almost any kind of project was sheer insanity as A) you inevitably end up taking on risk that belongs to them and B) they'll be forced to lock in their requirements from day 1.
I always tried to pressure clients to get to MVP and then iterate on a quick a cadence as possible. Unfortunately it's rare that clients fully embrace this and there's always a tendency fatten up MVPs and create "plans" 9 months out for a project that hinge upon a nest of assumptions many of which will almost certainly be invalidated.
Unfortunately the most common outcome is some sort of uneasy truce where I give wildly inaccurate estimates which I say are probably wildly inaccurate.