
First, let me explain my billing method and the reasons I believe it to be the most fair, both to myself and the client. I bill at a flat rate per a project. So, if a client approaches me and wants me to code something, I first work out a detailed list of requirements for the project. Those requirements are then set in stone. I then determine how much I will bill for the project. This figure is determined by how much time I think the project will take. I also figure in things such as how enjoyable the project will be to work on, how easy (or not easy) the client is to get along with, and other gut feeling type items. I’ll then go to the client with that set fee and that’s that.
Personally, I think this is the best method for billing. It allows both the client and me to know how much money is involved up front. That price will not change unless a requirement changes. I warn very heavily up front that requirement changes are not good and should not happen. I spend a lot of time going over requirements with client ahead of time and making sure everything is figured out.
The person I was debating with thought my billing method was despicable. They said, “Well, what if it takes you half the time you estimated? The client is getting ripped off then!” Of course, what they failed to see what that it could also take me longer than I estimated and I would “be getting ripped off”. Of course, I don’t quite see it that way. I believe that the client agreed up front to a price and it shouldn’t matter how long it takes me. I never told the client they are paying for X amount of hours. I simply told them they were paying X amount of dollars for a job well done.
If you haven’t guessed, this other person’s billing method is hourly. They feel that the client should pay for their time and exactly that amount of time. My big problem with this is that the client is paying for when he screws up. The client is paying for him to only type 60wpm when other developers type 80wpm. Is the client paying him when an email for an unrelated task pops up in his inbox and he takes 5 minutes to respond to it? Does he have a time clock sitting there that he religiously clocks in and out of, whenever he is not working on the project for the client?
So, why am I posting here about this? Well, simply because the other person wouldn’t listen to logic and I needed to vent about it somewhere. You are now the lucky one that hears my vent…so what are your thoughts?
Oct 16, 10:43 pm
I agree a project should be billed for the job not for how long it takes. This is like most things. A contractor that is building a pool for example has to figure anything that he believes will come up and quote you a price. If it takes him longer or more material then he expected then he eats the price, if its shorter then he goes home earlier. you pay for the end result not how long it takes to get there.