Going Solo, Successfully
> Don't charge by the hourThis is bad advice.Charging for a full week will make you lose a lot of clients. In the case of software development: The client never knows the full spec of the project and you'll have weeks were 10 hours is enough. Charging for those extra 30 hours is terrible deal for your client and he won't take it.What you should be careful about is how much you charge per hour. You may set different rates based on context like: for a full time project project you charge X, for future maintaining (which is on demand ) you charge 1.5 times X.Hourly also protects you agains scope creeping. 
Charging by the week/project/milestones requires a near full specification and it's done at an agency level where you've a team. I've been working hourly and I love it. You can try to spec out any project as much as you can, in the end you can't predict scope changes and/or unexpected problems: API is broken, missed an important email, build system is failing for no obvious reason, server went down, etc, etc.You have to figure out when charging by the hour/week/month/milestones is reasonable. Just because someone is making 120K a year in San Fran, doesn't mean you've to make the same amount while freelancing. It heavily swings from client to client.