How to Quantify Your Work
-
If this is the wrong forum for this discussion, please indicate the correct one, and I'll happily move over there. How do people who do contract work quantify their work for the purpose of determining what to charge for a given project? I'm not asking how much I should charge, which would be illegal. Rather, I'm asking for some help in knowing how to figure it out for myself. So do you like to charge by the hour, or by the project? And how should one know when to choose one or the other? Thanks, Rich ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
-
If this is the wrong forum for this discussion, please indicate the correct one, and I'll happily move over there. How do people who do contract work quantify their work for the purpose of determining what to charge for a given project? I'm not asking how much I should charge, which would be illegal. Rather, I'm asking for some help in knowing how to figure it out for myself. So do you like to charge by the hour, or by the project? And how should one know when to choose one or the other? Thanks, Rich ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
Rich, I generally charge by the hour. I have been making a slow transition to charging by the project. Paul
-
Rich, I generally charge by the hour. I have been making a slow transition to charging by the project. Paul
Paul, That's interesting, can you say why you want to move from hourly to per project? What problems were you having with charging by the hour? Rich ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
-
If this is the wrong forum for this discussion, please indicate the correct one, and I'll happily move over there. How do people who do contract work quantify their work for the purpose of determining what to charge for a given project? I'm not asking how much I should charge, which would be illegal. Rather, I'm asking for some help in knowing how to figure it out for myself. So do you like to charge by the hour, or by the project? And how should one know when to choose one or the other? Thanks, Rich ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
This is the science of contracting. I do it largely based upon my work as an employee. I wrote a lot of systems and got to be pretty good at establishing timelines for products. Now I do the same but for myself. It really comes down to listing out each item and feature requested by the customer and applying time to it (I'm actually doing this right now, this very moment.). I've got a list of things the customer wants and I'm going through and stubbing out the time I think it will take. While I do this I'm drafting a second document of questions I will send to the customer for clarification. I will then take the answers tie them into my main document and total the hours. I use some small factors to account for changes and hiccups. I calculate those seperately and divide them by 2. The customer pays for half of those costs and I accept the other half which in my experience has always proven a fair thing to do. I get a total hours apply an appropriate rate to it and hit send.
If we all used the Plain English compiler every post in the lounge would be a programming question.:cool:
Welcome to CP in your language. Post the unicode version in My CP Blog [ ^ ] now.People who don't understand how awesome Firefox is have never used CPhog[^]CPhog. The act of using CPhog (Firefox)[^] alone doesn't make Firefox cool. It opens your eyes to the possibilities and then you start looking for other things like CPhog (Firefox)[^] and your eyes are suddenly open to all sorts of useful things all through Firefox. - (Self Quote)
-
This is the science of contracting. I do it largely based upon my work as an employee. I wrote a lot of systems and got to be pretty good at establishing timelines for products. Now I do the same but for myself. It really comes down to listing out each item and feature requested by the customer and applying time to it (I'm actually doing this right now, this very moment.). I've got a list of things the customer wants and I'm going through and stubbing out the time I think it will take. While I do this I'm drafting a second document of questions I will send to the customer for clarification. I will then take the answers tie them into my main document and total the hours. I use some small factors to account for changes and hiccups. I calculate those seperately and divide them by 2. The customer pays for half of those costs and I accept the other half which in my experience has always proven a fair thing to do. I get a total hours apply an appropriate rate to it and hit send.
If we all used the Plain English compiler every post in the lounge would be a programming question.:cool:
Welcome to CP in your language. Post the unicode version in My CP Blog [ ^ ] now.People who don't understand how awesome Firefox is have never used CPhog[^]CPhog. The act of using CPhog (Firefox)[^] alone doesn't make Firefox cool. It opens your eyes to the possibilities and then you start looking for other things like CPhog (Firefox)[^] and your eyes are suddenly open to all sorts of useful things all through Firefox. - (Self Quote)
That's the way I would like to do it, also. But I am afraid to charge too much, because what might take me 30 hours to do, might take a really great developer only 15 hours. So there seems to be an inverse relationship there somewhere. ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
-
Paul, That's interesting, can you say why you want to move from hourly to per project? What problems were you having with charging by the hour? Rich ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
Troposphere wrote:
why you want to move from hourly to per project?
I am wrapping up my Master's Thesis at the moment and I did a study on Personal Software Process by Watts Humphrey at Carnegie Mellon University in Pittsburg and it deals with alot of estimation based on previous code/projects. I've found that estimations for new projects have closely reflected total hours, so I've started to charge by the project and have come out about the same.
-
That's the way I would like to do it, also. But I am afraid to charge too much, because what might take me 30 hours to do, might take a really great developer only 15 hours. So there seems to be an inverse relationship there somewhere. ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
Well of course you balance those things in. You also have to temper yourself. If you want to get a lot of money for 1 project you will. If you want to get financial independence from many projects then do not get a lot of money for 1. Which is to say that as you go through a feature and hit one that you are sure is complicated as you've not done it bill for what you think it would take a seasoned developer to do but include the hours you think it will take you to do (does that make sense?). You don't want to promise 3000 hours of work in 2800 hours that would be a bind. When I spec out something I tend to understand right away what makes it tricky. I then stop and google what I think would work and see what I can learn from the results (in most cases CP is high in the results and that's a nice thing). The other thing that I do (and I've done it a lot). Is that I might come up with a number in total. It's a number I think is right but might be a touch high. I always have my clients do 1/3 up front 2/3 at half way and the final 3/3 at delivery. It's not uncommon for me to drop that final balance by a hefty amount depending on how much time something took. The client likes it, you look like a saint and I guarantee you just got some paid advertising. You feel this stuff out though.
If we all used the Plain English compiler every post in the lounge would be a programming question.:cool:
Welcome to CP in your language. Post the unicode version in My CP Blog [ ^ ] now.People who don't understand how awesome Firefox is have never used CPhog[^]CPhog. The act of using CPhog (Firefox)[^] alone doesn't make Firefox cool. It opens your eyes to the possibilities and then you start looking for other things like CPhog (Firefox)[
-
Well of course you balance those things in. You also have to temper yourself. If you want to get a lot of money for 1 project you will. If you want to get financial independence from many projects then do not get a lot of money for 1. Which is to say that as you go through a feature and hit one that you are sure is complicated as you've not done it bill for what you think it would take a seasoned developer to do but include the hours you think it will take you to do (does that make sense?). You don't want to promise 3000 hours of work in 2800 hours that would be a bind. When I spec out something I tend to understand right away what makes it tricky. I then stop and google what I think would work and see what I can learn from the results (in most cases CP is high in the results and that's a nice thing). The other thing that I do (and I've done it a lot). Is that I might come up with a number in total. It's a number I think is right but might be a touch high. I always have my clients do 1/3 up front 2/3 at half way and the final 3/3 at delivery. It's not uncommon for me to drop that final balance by a hefty amount depending on how much time something took. The client likes it, you look like a saint and I guarantee you just got some paid advertising. You feel this stuff out though.
If we all used the Plain English compiler every post in the lounge would be a programming question.:cool:
Welcome to CP in your language. Post the unicode version in My CP Blog [ ^ ] now.People who don't understand how awesome Firefox is have never used CPhog[^]CPhog. The act of using CPhog (Firefox)[^] alone doesn't make Firefox cool. It opens your eyes to the possibilities and then you start looking for other things like CPhog (Firefox)[
Thanks for your thoughtful reply. I like your 1/3, 2/3, 3/3 method. It seems very flexible and fair. If there's one thing I can't stand is when I agree on a price for a project, and then the guy starts piling on the list of requirements, and it soon gets out of hand, but I can't say anything cause I already agreed to a price! :mad: ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
-
Thanks for your thoughtful reply. I like your 1/3, 2/3, 3/3 method. It seems very flexible and fair. If there's one thing I can't stand is when I agree on a price for a project, and then the guy starts piling on the list of requirements, and it soon gets out of hand, but I can't say anything cause I already agreed to a price! :mad: ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
That's where your list of requirements comes in. The customer should sign something (that they get a copy of) that explains: This list summarizes the full and complete set of features. Any enhancements or additions to these features will come at an extra-cost and an extended time-line. I usually add that a $500 minimum is added to the top of any changes once the customer has signed the enclosed requirements and returned it. The $500 makes them really pause and think that maybe version 1.1 would be a better time to ask. Either way, you have a signed agreement that states they will pay more, they agreed to pay more and their signature proves such. Only then do you write even a single line of code.
If we all used the Plain English compiler every post in the lounge would be a programming question.:cool:
Welcome to CP in your language. Post the unicode version in My CP Blog [ ^ ] now.People who don't understand how awesome Firefox is have never used CPhog[^]CPhog. The act of using CPhog (Firefox)[^] alone doesn't make Firefox cool. It opens your eyes to the possibilities and then you start looking for other things like CPhog (Firefox)[^] and your eyes are suddenly open to all sorts of useful things all through Firefox. - (Self Quote)
-
Thanks for your thoughtful reply. I like your 1/3, 2/3, 3/3 method. It seems very flexible and fair. If there's one thing I can't stand is when I agree on a price for a project, and then the guy starts piling on the list of requirements, and it soon gets out of hand, but I can't say anything cause I already agreed to a price! :mad: ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
In addition to what I've already said. There are times where I can tell I've charged to much and so if the customer says, "Hey can we have this?" I very carefully explain that, "Yes, I will do this and I will do it at no charge but this is all I will do." It's fair for you to do, they love it and in the end your bill is more fair to them. Somehow you have to make sure to balance things out if you charge to much. If you don't charge enough you chalk it up to experience and you remember the next time you do a similar thing.
If we all used the Plain English compiler every post in the lounge would be a programming question.:cool:
Welcome to CP in your language. Post the unicode version in My CP Blog [ ^ ] now.People who don't understand how awesome Firefox is have never used CPhog[^]CPhog. The act of using CPhog (Firefox)[^] alone doesn't make Firefox cool. It opens your eyes to the possibilities and then you start looking for other things like CPhog (Firefox)[^] and your eyes are suddenly open to all sorts of useful things all through Firefox. - (Self Quote)
-
If this is the wrong forum for this discussion, please indicate the correct one, and I'll happily move over there. How do people who do contract work quantify their work for the purpose of determining what to charge for a given project? I'm not asking how much I should charge, which would be illegal. Rather, I'm asking for some help in knowing how to figure it out for myself. So do you like to charge by the hour, or by the project? And how should one know when to choose one or the other? Thanks, Rich ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
-
In addition to what I've already said. There are times where I can tell I've charged to much and so if the customer says, "Hey can we have this?" I very carefully explain that, "Yes, I will do this and I will do it at no charge but this is all I will do." It's fair for you to do, they love it and in the end your bill is more fair to them. Somehow you have to make sure to balance things out if you charge to much. If you don't charge enough you chalk it up to experience and you remember the next time you do a similar thing.
If we all used the Plain English compiler every post in the lounge would be a programming question.:cool:
Welcome to CP in your language. Post the unicode version in My CP Blog [ ^ ] now.People who don't understand how awesome Firefox is have never used CPhog[^]CPhog. The act of using CPhog (Firefox)[^] alone doesn't make Firefox cool. It opens your eyes to the possibilities and then you start looking for other things like CPhog (Firefox)[^] and your eyes are suddenly open to all sorts of useful things all through Firefox. - (Self Quote)
code-frog wrote:
Somehow you have to make sure to balance things out if you charge to much. If you don't charge enough you chalk it up to experience and you remember the next time you do a similar thing.
That makes a whole lot of sense. Thank you for your wise counsel. :cool: ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
-
Troposphere wrote:
I'm not asking how much I should charge, which would be illegal
What would be illegal about asking how much you should charge?
There are laws that say that if you discuss price figures, it might constitute price fixing. So you have to be careful. ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
-
Paul, That's interesting, can you say why you want to move from hourly to per project? What problems were you having with charging by the hour? Rich ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
You get way more "Yes" answers from customers when they know the total price up front. When the customer hears "by the hour" some of them think of the last electrician or plumber they called and they politely say "No". It's always better to cap your bill you can budget your income the customer can budget their expense and in the end almost everyone is happy.
If we all used the Plain English compiler every post in the lounge would be a programming question.:cool:
Welcome to CP in your language. Post the unicode version in My CP Blog [ ^ ] now.People who don't understand how awesome Firefox is have never used CPhog[^]CPhog. The act of using CPhog (Firefox)[^] alone doesn't make Firefox cool. It opens your eyes to the possibilities and then you start looking for other things like CPhog (Firefox)[^] and your eyes are suddenly open to all sorts of useful things all through Firefox. - (Self Quote)
-
That's the way I would like to do it, also. But I am afraid to charge too much, because what might take me 30 hours to do, might take a really great developer only 15 hours. So there seems to be an inverse relationship there somewhere. ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
Surely you are not trying to charge the same as a great developer? You can quote for 30 hours when a great developer would quote 15 hours, but then you should also quote 100 per hour, when a great developer would quote 250 per hour. The customer is quoted 3000 for your job or 3750 for the great developer's job. Why will the customer even look at the great developer's quote? Because (a) the great developer has a reputation of being able to do the job, you may never finish it, (b) the customer has to wait much longer for you to do the job, (c) the great developer will do a great job (part of the reputation thing maybe), while you may produce something unsupportable.
-
Surely you are not trying to charge the same as a great developer? You can quote for 30 hours when a great developer would quote 15 hours, but then you should also quote 100 per hour, when a great developer would quote 250 per hour. The customer is quoted 3000 for your job or 3750 for the great developer's job. Why will the customer even look at the great developer's quote? Because (a) the great developer has a reputation of being able to do the job, you may never finish it, (b) the customer has to wait much longer for you to do the job, (c) the great developer will do a great job (part of the reputation thing maybe), while you may produce something unsupportable.
Well of course I am not charging what I think a super duper developer should get. I am going by what I earned per hour at my last job, and figuring in added expenses for being on my own, instead of being an employee. But your point is well taken. ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
-
There are laws that say that if you discuss price figures, it might constitute price fixing. So you have to be careful. ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
Unlikely. If you discuss prices with all (or most) possible suppliers, it could constitue price fixing. These days, everyone and their dog can write programs, so price fixing is almost impossible. If the customer only asks a small number of suppliers for quotes, hmmm. . . maybe then you would have to take care not to discuss too much.
-
Well of course I am not charging what I think a super duper developer should get. I am going by what I earned per hour at my last job, and figuring in added expenses for being on my own, instead of being an employee. But your point is well taken. ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
Of course, I don't know much about quoting for jobs - I'm a salaried employee, and always have been (except for a year of contracting some years back.) Since getting married, kids, house, car, etc., the risk became something to consider. I did a few jobs "on the side" (against company regulations, but I decided there was no conflict of interests) but I only charged about the same as my pre-tax salary per hour. Then again, that was backdoor money - no taxes, etc. Nice pocket-money for 50 hours a month!
-
If this is the wrong forum for this discussion, please indicate the correct one, and I'll happily move over there. How do people who do contract work quantify their work for the purpose of determining what to charge for a given project? I'm not asking how much I should charge, which would be illegal. Rather, I'm asking for some help in knowing how to figure it out for myself. So do you like to charge by the hour, or by the project? And how should one know when to choose one or the other? Thanks, Rich ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
At first, I did it based on how much money I needed to buy something I wanted, plus a couple of CDs and maybe dinner with the wife :P Nowadays, I'm much more scientific. I actually invoice my one client every month for work done, so I can work out hours after. VSTS is very helpful in this regard. Christian Graus - Microsoft MVP - C++
-
If this is the wrong forum for this discussion, please indicate the correct one, and I'll happily move over there. How do people who do contract work quantify their work for the purpose of determining what to charge for a given project? I'm not asking how much I should charge, which would be illegal. Rather, I'm asking for some help in knowing how to figure it out for myself. So do you like to charge by the hour, or by the project? And how should one know when to choose one or the other? Thanks, Rich ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸
By the hour normally. However, if you are doing one off work, the client might want a fixed price. So, work out how long it will take and base your quote on that. Sometimes it will take longer, sometimes shorter, but what you must ensure with this is that the requirements are very strongly agreed on otherwise the client cna keep you tweaking and tuning for ever, without paying you. Nunc est bibendum