Over time, I have become less and less interested in these kinds of side-projects as I have become more focused on owning the upside of my own products. But, its occasionally nice to get paid for my late-night coding adventures.
Over time, I have become less and less interested in these kinds of side-projects as I have become more focused on owning the upside of my own products. But, its occasionally nice to get paid for my late-night coding adventures.
If I find the project very interesting and I can fall in love with building it, the client is going to get a good deal. Boring or otherwise tedious projects engender some stone-cold, take-it-or-leave-it negotiation. I mean, this is my free time.
Edit: Nevermind that extra bit, however true. :)
That's how I go about it and have found it to be the best/only way to ensure I don't overwork myself.
It's a good summary on a several techniques, how to apply them, and how to pick how in depth of a one to do, as well as how to talk with people who try to negotiate with them.
Another benefit of a requirements doc is if the client later says he expects some additional feature, you can refer to the requirement doc and say that it'll cost extra since it's not listed in there and your original quote didn't include it (or let them know that you're going out of scope for free because you want to help them out which will make them love you [only do this if you're ahead of schedule]).
Also back when I was doing freelance stuff I usually wouldn't even take a gig if I didn't think I would make > $5,000 from it.
What I want to start doing with projects that aren't clearly defined, is to simply do an initial contract to nail down some of these details. Build a prototype, do some tests and write a detailed spec - and then the next contract will be building it for real. (Maybe with some inexpensive outsourcing.)
Prototypes aren't as useful as you would think. Clients see them and are like "hey that's a nice mock up, now make what I want", then you build the actual application and they say "well where's feature X, Y and Z?!?! when you say it wasn't in the prototype they just say "well I thought it wasn't there because it was just a mock up"
Ideally though, you want to charge them for the requirements doc (and get paid for it) before you start the actual project. You can usually tell the client this and tell them they can use the requirements doc to shop around with other developers so they can get the best deal. Clients are usually happy with this and usually don't bother shopping around.
EDIT: Oh and when you start out, if you're estimating time, double it.
Also, start out on hourly gigs - and then always stay with hourly gigs (time & materials). If you fixed price work you end up having to piss off clients with anal scope management (or you take a bath).
One of my customers, which I greatly admire, is very old guard and don't buy nothing of agile, extreme, scrum, etc. He only accept strict a to b estimates. Working with him, while hard, has made me much better at making estimates.
The concepts for the things I am building now were distilled from several other failed ventures. The choices were based on the projected market sizes.