views:

187

answers:

6

i have been approached to build some websites for a few small businesses. They want a basic out of the box database driven website with some standard stuff (users, authentication, a few dynamic pages, etc). i am going to use asp.net mvc for this.

they have asked me how much i charge for this. my question, is that i have no frame of reference here. should i charge for the project a flat fee or a per hour charge. where do i start here to help determine correct pricing for a website project.

+1  A: 

Charge per hour.

-- edit

So attempt to 'quote' it by estimating the number of hours. Make sure your estimate is conservative.

A nice approach is, in your head, consider the 'min', 'max', 'standard' type of time. Then use that to estimate the real time it will take you.

Noon Silk
A word of warning on estimates. Be very clear up front that an estimate is not a quote. I don't know how many times I've been in the argument about "40 hours!?!? But your ~estimate~ was 30 hours!"
JohnFx
+10  A: 

Charge an hourly fee that is about 3x the hourly rate you would command in a full-time job. The 3x multiplier basically evens things out for the benefits, etc. that you won't get as a 1099 employee.

Whatever you do, no matter how "Standard" it sounds. Do not charge a flat fee. Under that arrangement they have no incentive to curb feature creep. Even if you agree to a really tight spec up front, it is a recipe for disaster because it forces you to renegotiate every time they want something more. Under an hourly arrangement feature-creep works to your advantage.

Also, don't discount the hourly rate if you are a novice. Just don't bill unproductive hours. It is much easier to ease into billing more hours later than renegotiating the price per hour.

JohnFx
I agree with this as well. I have done the "flat-rate" thing a few times and it has screwed me over big-time in the end (ends up being $5-10/hr... um yeah, I'm getting paid Wendy's wages for custom development... no thanks).
Fooberichu
Great Advice!!!
Bryan Sebastian
A: 

If you know that they know what they want and won't change the specs on you, go for a lump sum. That way you can work quickly.

If they are prone to change their minds and don't know what they want, go for an hourly fee. That way you won't be stuck working on their project for months without additional pay when they can't decide on exactly what they want.

Unknown
Customers NEVER know what they want, especially when they are really sure they do.
JohnFx
There is a difference between "don't know what they want and don't care as long as its good" and "don't know what they want and will make you change it every day of the week"
Unknown
A: 

I admit that I don't know much about this issue. However, I would still like to warn about the whole charge-per-hour mentality. While this approach basically protects the developer, it doesn't work well with the business owner:

Charge-per-hour, to the business owner, is a liability, whereas fix-price is just a cost. That's one.

The second thing is, if you are charging per hour, how are you going to justify your "research time"? Are you going to charge that as well? But business owner doesn't like to pay for research time. Or you can stick to your old trick and do something that has been reinvented N times and charge for the amount of time you spend. But that would seem unethical to some.

Ngu Soon Hui
While these things are true and fixed prices are desirable to the customer, hourly professional fees are not unprecedented either. Any sufficiently large organization probably pays their accountants and lawyers be the hour for precisely the same reason programmers should. That is, the work is variable based on discovery of facts during the process.
JohnFx
JohnFx, the sad fact is that they don't treat software developers in the same vain as they treat other professionals.
Ngu Soon Hui
Of course not. They are vain enough as it is. That is probably why they don't treat us in the same vein either! =)
JohnFx
A: 

I have billed both by the hour and by the project. It's been my experience that customers are happier with project based billing instead of hourly billing.

With that in mind, I always pad the project cost by an amount I feel will cover the times when the client decides to change their mind. Further, I keep the project plan pretty simple. For example, I don't write 4 pages on how the login screen will work. Instead, It's a single bullet point: "Login Page". This allows both them and I a little flexibility.

Because I keep things simple AND I allow time for flexibility AND the clients know how much it's going to cost up front, my client's are happier and I can keep better track of my income. Also, I keep in pretty close contact with them. As long as you can keep the relationship good, you'll have a long term client.

Of course, it takes a bit of self discipline in combination with experience to know how long things take to build. Along these lines I never experiment on a client's dime. When I write the proposal, I already know what I'm going to use to get the job done and I've used those tools before. Because of this I can say with confidence that a login page will take a certain amount of time to put together.

Next, don't bite off more than you can chew. If it's a big project, break it up into smaller deliverables with their own pay schedule. That way the client (or you) can decide to walk away at any point. For example, if you think the project will take 3 months, break it up into 3 pieces. Incidentally, this helps with cash flow.

Finally, don't discount your time when getting started. That scares people.

Chris Lively
A: 

I have a flat rate I charge for sites and outline exactly what they will get and then anything beyond that outline gets charged at an hourly rate. The hard part of this is if your getting into a project where your not sure how long it will take then you might want to break down the various pieces and then add at least 10 hours to that estimate. You don't want to sell yourself short but you also don't want to overcharge the customer. Be sure your clear up front that once the site is delivered then all changes are per hour or based on a maintenance fee structure.

Good luck.

Robert