Fog Creek Software
Discussion Board




First-time contract -- Costing estimate

We've had a product in circulation for a while now, and we're on track to have our first related consulting work come in associated with it.  The potential client wants typical work: take the base we have, modify it slightly, and build a couple plugins in order to make it suitable for their particular vertical.

That's wonderful, but here's our quandry: when they deliver their "official" first pass at a mission statement for the development next week so we can give them a rough estimate of the time/cost involved, how should we approach it?  We're barely profitable at this point, and we have big plans (and a solid product line emerging), so I'd like to use consulting to give us some buffer to work in while we experiment with product positioning, marketing, etc.  Bottom line, to keep us afloat while we get our business together.  With that in mind, we really need to land this job (and maybe one or two more like it), so we can't just say something stupid like "Well, the work will probably take 500 hours at a rate of $65/hour", and scare the customer off with the impression that we're overpriced.

My instinct is to lowball it, take the hit financially, and track our progress very hawkishly so as to be able to estimate this kind of work with some level of accuracy in the future.

Comments?  Any links to helpful guides to working one's way through such a situation?  Thanks!

Monad
Thursday, September 25, 2003

Monad,

Once they give you some specific requirements, take a couple of hours to figure out a high level overview of what needs to be done to implement what needs to be done.  Make a reasonable estimate of what it will cost you in time and money (the time you spend on the consulting gig is time you don't spend on your product line (i.e. opportunity cost.))  What is that time worth?  You say you're barely profitable and you want to lowball/take a financial hit?  You're already on shaky ground - figure out what makes sense financially and make them a reasonable offer. 

If you're going to take a hit, why bother taking the gig at all?

GiorgioG
Thursday, September 25, 2003

>Once they give you some specific requirements, take a couple of hours to figure out a high level overview of what needs to be done to implement what needs to be done

I need some sleep ;-)

That sentence should read:

...take a couple of hours to figure out a high level overview of what needs to be done to implement the requested customizations...

GiorgioG
Thursday, September 25, 2003

You also need to factor in the future grief of maintaining their modifications or whether you're going to roll them into the standard product.

If its the latter then you can amortize the development cost over a longer period and give the client some leeway over the pricing to them.

Here's a basic rule though, unless you cover your bottom line, meet all your direct and indirect costs in relation to any piece of work you will fail.  You may not fail tomorrow or next month, but you will fail.

Don't fall into the fantasy that you can make on the easy jobs in some future unknown time.

Simon Lucy
Thursday, September 25, 2003

Never (deliberately) do work that doesn't make a profit :)

Honestly, the "ill make a profit next time" approach is pure madness and pretty much never really pays off.....if you dont have the courage to make an accurate bid this time, whats going to be different next time?  <g> if your not in business to make a profit then WTH are you doing there?

The other problem if you lowball it now is that when you try and give an accurate quote next time its going to look high.

("what, its going to cost $10000 for these features but you only charged $6000 for these much easier features....")

Do your absolute best to get an accurate quote, if you have to err try to err on the side of too much rather than too little....if you get it right you will be in the position of providing the work for less than the quote...this will cause great joy amongst your clients :)
If you lose the work this time because your client is unable or unwilling to pay you what you consider to be a reasonable quote then you are ahead of the game....much better to find out now than after youve done lots of work at less than cost to try and woo them.

it does take a lot of effort and courage to make an accurate and reasonable quote so you have my sympathy...Ive been giving quotes for 3 years now and I still agonise over them way more than I should.

FullNameRequired
Thursday, September 25, 2003

If you can break down the costs. i.e. if the client says there are five reports they must have, price each report at one day apiece. Break up stuff into smallish lumps (Say one day to a week) and then price those lumps into days (Perhaps with a half day granularity) Given that you're talking about plugins unless they're small it might be worth splitting those into finer lumps
How much does a (emergency) plumber cost in your clients area per hour. I would guess a minimum of $50 and more likely $100 (this is based on UK rates converted) Point this out to your client and aim to charge over $800 per day a plumber would cost!
Sort out who owns the copyright. In this sort of case my preference is that you own the copyright, but give the client a non-redistributable license.
Remember that you might be able to get away with 10-20% year maintance charges for the modifications.
Final thought. Do not assume the mods will be any use to anyone else, only around 50% are any good for anyone else.

Peter Ibbotson
Thursday, September 25, 2003

... But you don't ask an (emergency) plumber for a quote weeks in advance.

Mark T A W .com
Thursday, September 25, 2003

Sorry, I'm picking nits.

Mark T A W .com
Thursday, September 25, 2003

> My instinct is to lowball it, take the hit financially, and track our progress very hawkishly so as to be able to estimate this kind of work with some level of accuracy in the future.

No. Never do this. Work out what you need in order to do this work profitably, add a margin to cover unexpected events and ensure you can charge for agreed extra time. That then becomes your quote. If they don't accept it, forget about them and look for your next customer.

If you "lowball" it, you will become financially and time stressed, not to mention doing a bad job. Also, your customer will detect your readiness to sell yourself short and probably try it on in other areas.

.
Thursday, September 25, 2003

I suppose I should have enumerated where I'm coming from here.  I used to be employed by a small consultancy, and I can't count the number of jobs that we lost by making our best estimate, ratcheting that up some reasonable percentage for wiggle room, and making a client think we were high end.  I think what contributed to that was the CEO's attitude of "well, that's our price, you have to pay for quality, y'know?  **sniff**".

So, when I see a chance to bring cash in the door, I feel like I should maybe bend over a little and take one this time, and say to the client that hey, this work will be licensed for use on version XX of the core product only; when we come out with version XX+1, we'll be renegotiating.  In addition, the potential client has expressed interest in setting up a distribution/co-branding deal for them to resell the bundled *vertical* solution (i.e. they don't get to play outside of their space), obviously with a suitable kickback to us for each license sold.  That's clearly pie in the sky at this early point in the game, but the upside is huge for us if we can get this client to become a live sales channel for us into a market we really aren't able to target anytime in the near- to mid-term.

Anyone have recommendations for resources on best-practices when doing cost estimates for outside clients?

Monad
Thursday, September 25, 2003

To mark... Yes I know about plumbers but it can make rates seem more acceptable.

Back to monads point. This is really tricky, personally I'd be tempted to give the client a kickback based on how many others buy. Clients will ALWAYS tell you everyone else does it that way. I can think of two systems we've written one for a bank back office and another for jewelers which while potentially useful to others we have NEVER managed to resell.

I'm in the fortunate position of being able to afford to turn jobs down because they're too far out of our core business. So I can afford to quote "silly" money to see what happens, however we still seem to get shafted by a sales critter once a year or so.

It also depends on how much your "core" software costs. If the mods budgeted properly (i.e. say at $500 per day) are less than 50% of the core software it probably doesn't matter too much. (All of the profit can come from the core software and you wouldn't sell it without the mods anyway)
I notice you say 500 hours at $60 which I reckon is $30K if the software component of this is less than say $60K then I'd worry strongly about accuracy of the spec and your time estimates above that who cares, you've made 60K you'ld never have gotten otherwise. 

You need to figure out what the opportunity costs of the deal are. i.e. what else could you be doing (Writing the next version? Getting 10 other smaller deals)

I'm talking from the view of an ISV where we charge 20% maintance and $1,500 per seat to get into the software and we prefer sites with more than ten users, so my view may not match yours.

Personally I'd find out / do the following:
a) Who authorises the spending, do they have any limits? Perhaps the folks you're talking to can go up to 10K but not beyond, so splitting it into two phases might work well.
b) Do they have a budget in mind? Could you hide some of the cost under maintance (Then it's not an asset on their balance sheet)
c) Present the figures honestly, saying something along the lines "These are our starting figures if you want to own all the modifications and have the ability to resell under your own brand" (Vary as needed) See what their reaction is (you might be surprised).
d) Remember lowering your price is easy, raising it is much harder. (Dropping by upto 50% can be explained away, perhaps because the IP situation has changed, the specs have been tightened up, features have been thrown away, you have a clawback if they don't buy as many copies as they said they would) If they want all the mods for the price of a cup of coffee it's no good, find another customer.
e) What are the alternatives to your software? By now it's likely they already have something thats already doing a similar job, so why do they want to move?
f) Find out when you'll be paid and what tests they may want to do before you'll be paid. We had one customer who took 3 years (some have done it in weeks, typical is a few months) to implement our software. We got their small (5 or 10%) retention after six months but that can cripple a smaller outfits cashflow.

Remember clients business priorities may change, a few bad quarters and that software they were going to roll out around all their branches looks like an easy cost saving and you end up only selling 10 seats.

Peter Ibbotson
Thursday, September 25, 2003

a good tactic we use is to split the payment into parts, eg 40%-40%-20%.

we invest heavily into spec, after that is approved we get 40%.

after we ship the software (even buggy one), we get another 40%.

after acceptance we get the remaining 20%.

the good thing here is that client who need the source should accept the software, pay the whole bill so they cannot come to use and trying to sell new features as bugs.

also at the end if you're fed up you can leave the client and only lost 20%.

na
Friday, September 26, 2003

*  Recent Topics

*  Fog Creek Home