Fog Creek Software
Discussion Board




Estimates for contracts

I've read Joel's article on making estimates, what are some other good resources that focus more on the contract side of things?

Through a friend, I've been asked to give an estimate on writing a piece of software.  I'll be doing this on the side, and it will be my first contract (if he chooses me).

My initial thought is to tell him I think it will take X hours, with a 20% variance either way. 

Thoughts?

first timer
Monday, December 29, 2003

Do yourself a favor & read "The Software Developer's Guide" by Whil Hentzen.

Covers all sorts of stuff on the business side of software development.

H. Lally Singh
Monday, December 29, 2003

Alot of this will depend on who you're bidding for.

Just about all organizations that use accrual accounting (most "C" corporations, any organization over $1 million in revenue) will prefer to have software or systems projects billed as a line item and not discuss hours at all.

The reasoning is that (by and large) a software package is depreciable and contract labor is not. By depreciating the software (normally over 3 years), the company balance sheet only takes an initial hit of cost/3. Maintaining a good ratio of worth on a balance sheet is important for a company's credit.

Whoever you're bidding for almost certainly already has a dollar figure in mind. For me, project sales is all about trying to figure out what the number is, trying to move that number (if needed), and trying to figure out if it's worth it. In these kinds of situations, it's important to clearly define the scope of the project but have some kind of master agreement in place that governs what happens if the scope creeps (all of the wildly successful project firms - IBM Global Services, EDS, Unisys, etc.. - do this). I'd search for information on writting Statements of Work or Document/Memo of Understanding. Normally, the most important thing to do is to get the master agreement signed; putting a signature on a legal document is an important mental road block to get past.

Enforcing contract stipulations for overages is difficult for 1 person to do. Having a separate salesperson (who can play the bad guy) and project leader (who plays the good guy) is ideal.

In you situation (assuming you can spend lots of time on this even if it does go badly), I would go ahead and bid Y where Y is (X hours * X hourly rate) * 1.13. Basically, I'm saying that the overage could be as high as 25% and that you'll split the risk with them in the hopes that you might come out.

You will almost certainly bid too low. But, it's good to get started and then have that reference. You'll know that much more next time.

Mark Smith
Monday, December 29, 2003

There's a tendency for first timers to bid low. Try to avoid it if you can. If you're good enough and will do the same quality work as the next guy then don't charge less.

Of course, the next guy may have experience under his belt which he can use to justify charging a higher price. His experience may bring extra value to the table.

What I'm saying is, if the "going rate" is 35-45 currency units per hour, then don't say, well I'm the new kid on the block so I'll charge 30. Charge 40 and strive to charge 50.

Don't forget that you may well get automatically bargained down so if you start out low you may end up lower.

Roberto Benincasa
Monday, December 29, 2003

Thanks guys.  I figured this question on this forum would generate a lot more comments.

I've bought the book mentioned and am going through it now.  It's a lot better than any of the others that I've seen.

Also thanks for your detailed answer Mark Smith.

first timer
Tuesday, December 30, 2003

*  Recent Topics

*  Fog Creek Home