11

This question is something that's been bugging me for the past 3 months since I switched from being a freelancer to working at a Web Design firm.

Our sales people often ask us something similar to the following series of questions:

  • How much does it cost to program a widget
  • How many hours will it take to convert this website to this software.
    (Without knowing what the website currently runs)
  • etc

  1. How can we give a quote without any information? (No, I can't ask for more info!)

I have another question if a project goes over budget it's bad. Recently, I missed an entire menu when calculating the cost of transferring a website over to a new platform so the project went over budget. My boss was not happy at all, and it's my opinion that some things like this can't be avoided.

   2.  What is the general practice for dealing with going over budget
        and do projects like web development often go over budget?

If you work at a web development/design/similar company:

   3.  How does your billable hour system work?

For me, we have a time tracking application that we record how many hours we spend on which project and if they are billable or internal (AKA non-billable). If don't meet xx billable hours a week we can get in trouble/fired eventually. Work you do for the company or for clients that isn't billable isn't part of this system, and we often have to do internal work, so I'm wondering if any alternative systems exist.

EDIT: Ok I am a developer at this firm not a designer :)

Second, I am paid salary, but here is how management looks at it. You have 35 hours a week that you must work. You could be doing work that they bill to clients in that 35 hours and you should. If they figure out a project will take 50 hours and I take 55 hours, that 5 hours could have been spent on another project that wasn't over budget so we just "lost" money.

Another example is that if I only have 1 project, that is due in two weeks and I spend a day doing internal work, some how we lost money because I wasn't working. If I worked that day, I would finish a day early and still have no work. Either way, the work is contract so we will get paid the same amount regardless of which days I work!

Deco
  • 2,466

6 Answers6

4

Our sales people often ask us something similar to the following series of questions:

How much does it cost to program a widget How many hours will it take to convert this website to this software.

Why are your sales people asking the designers? Sales should have a prestocked list of quotes and system for estimation that has little, if any, correlation to your actual costs. I'm assuming you are salaried.

How can we give a quote without any information? (No, I can't ask for more info!)

Short answer? You can't, don't try.

The long answer is still short. If I call you up and say I have a website were people can login, post messages to other users, upload pictures, and make friends, what would it cost to build, what would you say? I could have described the worst social network imaginable, or Facebook. You don't have enough information so you can't give an accurate assessment.

I have another question if a project goes over budget it's bad. Recently, I missed an entire menu when calculating the cost of transferring a website over to a new platform so the project went over budget. My boss was not happy at all, and it's my opinion that some things like this can't be avoided.

Define "over budget." Again, I'm assuming salary not hourly. If you went over your time budget, pull some long nights and don't make the same mistake (of missing something) again.

For me, we have a time tracking application that we record how many hours we spend on which project and if they are billable or internal (AKA non-billable). If don't meet xx billable hours a week we can get in trouble/fired eventually. Work you do for the company or for clients that isn't billable isn't part of this system, and we often have to do internal work, so I'm wondering if any alternative systems exist.

I'm not sure how I would set that up if I had to create a record of "billable" hours. You would probably wind up with a hundred hours +/- a few ever week. I don't stop thinking about code, should that count?

Josh K
  • 23,029
  • 10
  • 67
  • 100
4

Do what Scotty does: come up with a reasonable estimate, and double it.

Your doubled estimate will a) usually be more realistic, because humans are crappy estimators, b) give you a little bit of slack, so that you have room for sudden features and other emergencies, and c) allow you to occasionally come in under time and under budget.

Never mention the fact that you are doubling your estimates to your boss, or to sales. Businesspeople are delicate creatures, and often can't handle the hard truths we engineers have to deal with.

Good luck.

Patch
  • 171
2

I think the best thing you can do is make an itemised list in your quote. Putting times next to each "task". Breaking it down like this will not only help you think about what needs do be done, but will also tell your boss and/or client the scope of your quote. It would be great to get this scope/quote signed off before you begin work by your boss/account manager/client. This way, if you forget something, the blame can be spread, and it doesn't all fall on the developer.

I think if you can't get any extra details about the project, you have to show the people evolved, exactly what you assumptions are.

This is also good because one you have done a few of these quotes, you can refer back to old ones when you are creating a new one.

You can attempt to take in Hofstadter's Law, but that will never work.

1

This is really only an answer to the first part of your three-parter, but it's a BIG question.

Here's what I've recently started doing. And this is after a LOT of soul-searching about this very sort of thing.

I reply to a request from a prospect or client with what I call a "Good-Faith Estimate". It's a dollar figure that is padded nine ways from sunday for total CYA. I tell them this number is based on my experience of projects of roughly the scale of the one being considered here.

I tell them their first invoice, due at kick-off, is 25% of the estimate. For that price, we will perform a complete requirements-gathering effort and write full, detailed specifications. Depending on the size of the project, that might be several weeks of work. At the end of that, we'll have a complete set of documentation, AND we'll know how we did on that estimate. If at that point we need to fine-tune the price (and it could go up OR down), we'll do that and let the client know.

If the price goes up and the project is now unsustainable, it's called off at that point with no further payment due. This is obviously an undesirable outcome, and should be considered the last-resort outcome. Plan B is to rework the project requirements to bring the scope down into the project budget, etc. There's a lot we can try before we call the whole thing off, but if we NEED to, right there is where we can.

Assuming we don't, we'll go forward with the (possibly revised) total price, 50% of which is billable at that point, and the final 25%-or-so at delivery and acceptance. Everybody is on the same page, nobody is feeling like they had to pay money for an intangible like "analysis", and everybody is (ideally) happy.

So far I've had pretty good results with this. It certainly beats hitting the client up for a separate billable for analysis/specification work. Nobody wants to pay for that. But if you hide it in the first 25% of a total project price, it becomes instantly palatable and understandable.

Dan Ray
  • 9,116
  • 3
  • 38
  • 49
0

You must find your way to more information. I've never given even the estimation of any project if the requirement has not been stated clearly. If they persist you can't have that, you better just quit.

tia
  • 975
0

You are in a very common scenario. Sales don't have a clue and rely on technical people to do their job. You will fail again and again to give accurate estimates because it's impossible to know.

What you actually do is called empirical estimation.

You get better at that with time and experience.

Is there any other we designer in the company ? If yes, I highly suggest you to do Planning Poker. It's a very powerful collective estimation technique.

Planning Poker is a consensus-based technique for estimating, mostly used to estimate effort or relative size of tasks in software development.

It will helps you getting more accurate estimations by using knowledge and experience of more people, and the estimation responsibility will be spread across the team instead of one single person. The sales will be happy since they will get more accurate estimations. And it's easier to say "we can't estimate" when you are 4 or 5 than when you are only yourself.