Ask HN: Charge per hour or per project?
I have just started a company that will build tailor made software for other companies. So far we have just had one gig where we built an app for a fixed price.
Would you recommend us keep working against a fixed price per project, or should we charge per hour? What are the pros and cons with both?
16 comments
[ 2.6 ms ] story [ 50.8 ms ] threadWith hourly projects, you don't have that issue. When the client makes unreasonable demands, you just tell them how much time it would take.
My recommendation would be to provide detailed estimates to the client, that show how much work every part of the project is. Include a few optional parts. When requirements change during the project (as they always do), then you can say, well, we could just skip this optional part and do whatever the client wants instead. This way the client is happy (they still have the same price) and you are happy (you don't have to work more hours than you expected).
Good client relationships are worth more than a good contract. You want someone you can trust in a handshake deal. You want a good contract too. But the most important thing is a relationship where people see a problem as mutual. Where it's both the client didn't say and you didn't ask.
But more important is to discuss how changes will be handled before signing the contract. In particular something like "You will probably change your mind as we go along, that's normal, here's how we might proceed when that happens."
At some point, I recognized a pattern. Potential clients who have a problem with such a discussion up front are telling you that they will have a problem with that discussion when there's payment involved later.
Your options then are walk away from the client or price the work accordingly.
It's worth noting that you can build all of those changes into your price. Your job is to help the client make money on their new or existing business operations. It is not to save the client money on your services.
With all the cons of fixed price, I won't go back to hourly rates. I just can't stand the nit picking timesheet stuff. Seems that every client has a brother-in-law's nephew who programs faster and for less money. But why they don't give him the gig is always met with lots of hand-waving.
Perceptionally, charging hourly is safer or you. But clients always think that you will pad the bills and take more time to do things than it should. It's in your best interest to take as much time as possible. That's just the way it is.
Now, fixed bids. There's a risk doing for a fixed price. What happens if it goes longer, and you spend more time than you planned? You take it in the shorts. But, the customer knows that you are going to do your damnedess to get it done on time and under budget.
But for comparison, look at public works construction companies. Those that build airports, highways, etc. All the companies give a fixed bid, and the lowest fixed bid wins. Adding a $5 billion wing to a major metro airport Like LAX or SFO is incredibly complex.
They key is to be super careful on your bid. And, like construction companies that do bids on complex projects, you have to be super vigelent about change orders. Meaning, the person you are working for wants changes to their original proposal. Because then it changes your bid. And, in construction and in programming, there are ALWAYS changes. So if they change their specifications in the slightest bit, you have to be 100% sure to charge them more. This is how construction companies actually make money. On the change orders. Here is what the ABA says about construction change orders: https://www.americanbar.org/groups/construction_industry/pub...
This is just general information for you. I am not a lawyer.
But, after you make a bid, and the person that you are doing the work for decides to make a change, that's on them, so they can't really accuse you of trying to "pad the charges."
Fixed bids are actually really great if you get super good at doing one thing, and get it done under the time you bid. If you work super fast and efficiently at an hourly rate, you won't get paid as much. For instance, if you do a bid to do create a software powered toenail clippers for $4,000, and you've done it before and can do it in 2 hours, you get paid $2,000 per hour. But if you do an hourly rate at $150 per hour, you only get a total of $300. So doing a fixed bid, as long as you actually know how much time it will take you, is the best of all possible worlds. The only thing to be 100% on point about is that any changes make a change to the fixed price, and you can either go hourly or fixed price on the changes, depending on the situation that you can do.
For sure you need to make progress payments as you go along, and make sure you charge a hefty amount before you even start. Whether it is 25% or 33%, whatever the situation demands, but you want to get some cash flow going right away. Cash is king. Money talks, bullshit walks. Never take someone’s word on it. Never take any job where you don’t get paid a portion up front. Before you walk in the door. And make sure you watch the definitive video on getting paid: https://www.youtube.com/watch?v=jVkLVRt6c1U
Create a summary of these points of why you have to charge extra for changes on a fixed bid, and show them. Tell them that it is the same exact thing that happens in construction, use that exact example. A construction company is not going to move a wall for free, it can take a lot of extra work. Tell them that a seemingly minor change might take a lot of work. Maybe document some specific examples of something that looks easy, and show what you did, and how much time it took - that to add 3 other it took you 40 hours of time. Show the code and everything, maybe even make a video making a "simple" change so that they can see exactly what work that goes into it. This is all a marketing expense, ok? Marketing. To show the client the reality of changes. So you won't get shit from them later, when you charge them extra.
Also, depending on what it is that you are doing, I would bill separately on change order changes, right then and there, that week. Do not incorporate it into the total cost. For sure don't do that. Make sure they understand and you tell them abut it. For you, cash is king, cash flow is king. Do not back down on this point. Changes and extras are billed immediately, that week.
And you should always bill them weekly on everything, even if it is a fixed price, if it is a 2 month project for example. Bill weekly. If the fixed price is $10,000 and it is a 2 month deal, then they pay $2,000 up front, and $1,000 every week thereafter, or whatever you decide the upfront and payments are going to be. Obviously if it is a one week project, that does not hold true.
Additionally, another thing I didn't mention, is if you can get the whole thing up front, even better. Let them pay $9,500 if they pay upfront. Get the cash fast as you can.
If their terms are that they pay monthly, then tell them that your terms are weekly, and be hard core negotiation on that. But if push comes to shove, you do monthly. Just try to negotiate hard on weekly payments. Or, you can say something like, if you want $10,000 for the project, you offer to do it for $11,000, then tell them that if they pay weekly, you will charge them $10,000. But those are just negotiating techniques. Maybe if you are working for a Fortune 500, they will never change their billing for your $10,000 bill, so you just have to accept it. Everything depends. But if it is a small 8 person company, you can negotiate that, because you will be talking to the owners directly, more than likely.
What I wrote above is mainly for change orders but it applies to everything.
Read the American Bar Association link that I gave you again, it is very informative on minor changes, and cardinal changes.
Our current situation looks like this: Since we are in the beginning of this business we work with it on our spare time, while keeping the day jobs until we get more gigs. We have gotten our first gig, which is to build an application used in the shipping industry. We wrote a contract for the first delivery worth approx $25,000, and we have gotten a full payment. We have gotten promises on 2 more deliveries that will average approx $30,000. The issue is that now they are trying to put a lot of shit into the first delivery, although it's not in the contract. We (the two of us in the company) have let ourselves be a bit pushed around in the past weeks and have put at least 20 hours each into building stuff that was definitely not in the contract, with the fear that if we say no then they wont let us continue working on the app and we can forget the coming $60,000.
Anyway, your comment and the video made me realise that the way we are trying to please them right now is just stupid. We have the next meeting with them on Monday, and I know exactly what to say: Fuck you and pay us :D
For this particular situation that you are in, I'd probably say that it is kind of on you guys that it was not clear. Which is ok, you didn't know. You didn't emphasize that you don't work for free up front before you started the project, and then you went ahead and did extra 20 hours of work without saying something. I'd try to get it paid, but if they say no, then take your lumps, and on the next job say that "OK, but on the next one we will bill for extra." I'd try to get the 20 hours paid, though, but if they get too pissy I'd probably cut it to 10 hours, or even $0, if I had to, because it's your sort of mistake, on the unclear communication.
And remember, the whole Fuck you pay me is last resort, you always want to be friendly until you can't be. It does not really sound like a literal fuck you pay me situation. Just work it out. I don't know how much you would charge per hour, but if it is $150, that is $3,000. Don't lose $60K for $3,000. But still try to get paid for it, but don't be too hard nosed. You kind of have to play it by ear, but keep it light and friendly, with a small dose of humor, too, if possible.
A lot of it is in the presentation and the operations of it. I could tell a lot of stories of stuff.
Anyways, I think you get the gist of what I'm saying. Hope it all works out for you.
Fixed fee is great for clients with experience paying for the type of work you do and who want you to stay in business.
Time and materials is worth considering for any other situation. Inexperienced, lowest cost seeking, and/or I-win-you-lose.
The big thing is not how you charge, but whether or not you are paid. The clients for new companies is generally "a market for lemons." Existing service providers hold on to good clients. Good clients hold on to existing service providers. That's what makes them good clients.
The first phase of your business is finding client relationships. Your great clients will be those who you help grow their business. And that will take time. Good luck.