How to estimate a project
Sunday July 22, 2007 ·
170 views ·
0 comments
The other day a buddy of mine who is still fresh in his career, emailed me about a possible side job that he had for building a small forum type application. In his email he asked me how much I would charge for the application, sending along a URL to a similar site. I started to write back with a long winded explanation but ended up cutting it short. I pretty much told him that the best thing he could do was to try and get a gauge of how much they were willing to spend based on several different 'decision points'. My answer was based on the mental notes that I had walked through when writing him back. Given the description of his client and the type of project they were looking for, I kind of figured that they were not looking to build a business off their idea but were more or less a group of guys that were looking to have some fun.I thought it would be worth while to share some of the "questions" that I keep in mind when determining how I should bid out a project. Keep in mind that following isn't appropriate for all situations and/or might come as common sense for some. What type of client are they, are they an an established company, are they large or small, what kind of seed capital to they have (if applicable)? The idea really is to try and get a guafind out what type of financial state they are in. The simple economics of the matter would tell you that a company with more money, can afford to spend more for their business endeavours. The idea here is not to take advantage of their financial status but rather use it to get a gauge of how much to charge so that you don't under bid yourself. I have had several friends lose out on projects simply because their estimates were too low. Is the client doing this for profit or for fun? Chances are if the client is a business, then they aren't doing the project for fun. If they are, chances again would tell you that they are benefiting from it one way or another (pr, marketingadvertising, larger user community, ect...). In either cases, if the client is a business I would revert back to my first point in trying to get a gauge of a pay scale to use. On the other hand if the client isn't a business or forming a business, then I would step back and try to think about how I could offset my profitability in other ways than money. You never know, you could be building the next YouTube! Is the project new development, or enhancements to an existing app? New development in almost all cases means that your estimates won't be dissuaded by unexpected technical issues. While there is still the chance that something that you didn't account for (in technical terms) could go wrong, the fact that you are building from the ground up means that you won't have to deal with someone else's laziness, hacks or inexperience. I've worked on projects where the previous developers were unskilled and/or flat out lazy, causing me lots of unexpected fixing and figuring out of logic that just happened to work by coincidence. No body writes an application the same way that you do, so if you are asked to bid out enhancements to an existing app, make sure you get to see some of the source first before you give an estimate. If it's new development, do you have a similar project (or can find a less expensive alternative) that can be tweaked to fit their needs? Using an existing project and/or buying a lesser expensive alternative for tweaking, will in most cases provide the largest room for profit. For obvious reasons the simple fact that some or all of the 'code is already written for you', means that you can spend less time in completing the project. Again if you purchase something, you might run into the scenario that I described above about having unexpected technical issues. Writing an app from the ground up is usually more time consuming except if you have (or have written) a really good set tools for code generation. Code generation lets your code work for you, people like Peter Bell are able to build hundreds of customized apps a year simply because he's built tools to automate much of the core code. Would you be willing to do the work for less money than what you make now? I mention this point because when it comes down to the end of the day, you should at least (imo) try and earn as much as you would as if you were working at your full time job. I try and calculate my hourly rate by taking my annual salary and dividing it by 2000 (40hours/week x 50 weeks/year). Using this as a basis, you can find out what the project would cost (at a minimum) to be worth your time. If you think you are overpaid or work for a client unlike the one for the side project, then you might have to be prepared to bill at a lesser rate. Do you want the work? The last point I usually consider is, how much do I really want the work. Like most people, if I don't want the work I might put in a high bid or just simply tell them that I'm not interested. I try not to be insulting with my quoted dollar figure and/or with a decline of a project but ultimately you shouldn't do something you don't feel is worth your time. In the odd change that they willing to compensate you nicely for the work, then it might be worth considering. Comments
"The art of being wise is the art of knowing what to overlook." - William James ![]() Blogging
Recent ReadsBlog Roll
|



