Hacker News new | ask | show | jobs
by fvox13 4721 days ago
Any project has a defined scope and set of requirements. If you start the project before these are defined, you're dumb, because you have no idea what you're working on.

I always draft a requirements document for my freelance customers, and spell out exactly what I will do for exactly how much money, by a deadline. This document also says in no uncertain terms, that any deviations will result in a new set of requirements, and thus, a new price.

Hourly rates punish you getting better (why shouldn't I charge the same I did last month for something, despite having found a way to do it twice as fast?) and they open you up for all kinds of "why is this taking you so long" or "I'm paying you X per hour! That's more than I pay my shrink!" comments.

1 comments

One of the points in the article is that it's impossible (and impractical) to scope out everything before you start.
I'll admit there's a certain "fudge factor" but the more experience you get with requirements gathering, the less of an issue it is. Ultimately, this is the difference between a "Developer" and an "Engineer".
It's not about the lack of skill on the supplier side. It's usually the client that is not sure how exactly the project should look like. And that's ok - he does not need to scope out every detail - it can be worked out along the way.