Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

[OT] How much would you quote?

by kiat (Vicar)
on Oct 14, 2005 at 09:46 UTC ( [id://500178]=perlmeditation: print w/replies, xml ) Need Help??

Hi Monks,

I have been asked to give a quotation for an online ticketing system to be used for booking of tour buses. I'm curious. How do you go about quoting a price for coding an entire site? Or for any coding work for that matter. How factors do you consider?

Relatedly, when do you consider the entire project "completed"? There're bound to be bugs that will only be uncovered when the system is being put to use, so there has got to be a certain maintenance period. How long is this going to be?

Thanks in advance for sharing :)

Replies are listed 'Best First'.
Re: [OT] How much would you quote?
by g0n (Priest) on Oct 14, 2005 at 10:57 UTC
    Here's how I'd do it:
    • Develop a reasonably precise spec of what they want the system to do. A rough idea of the use cases involved would be a good idea. Since it's a web app, faked up screen shots will make the customer feel good (but make sure you tell them they're faked up, or they might think you've nearly finished before you've begun!) Make sure you specify what's in scope, and what isn't. Watch out for very non technical customers who will attempt to 'read between the lines' and assume functionality that hasn't been specified.
    • Estimate how long it will take you to develop, test & document. Add some contingency time for the unexpected, and some time in for writing (and revising) the spec
    • Quote them a price based on the number of days you estimate it will take. Try to avoid quoting a fixed price unless you are sufficiently confident that you can finish in something like the time you've estimated.

    The project is completed when everything does what the spec says, but assume you may have to fix bugs for a period of time under warranty (that gives you an incentive to test thoroughly). Factor some contingency time into the price for that. The warranty period is subject to agreement between you and the customer, but I tend to warrant that what I've done will work as specified for a year. After that, fixes are chargeable. Changes outside spec are always chargeable.

    One major hazard is looking at the number of days/amount quoted and thinking "omigod that looks like a lot". You will be making a rod for your own back if you cut back your carefully constructed quote because you think the customer won't want to pay that much.

    Update: I've found there's some useful material on spec'ing projects out in this.

    --------------------------------------------------------------

    $perlquestion=~s/Can I/How do I/g;

      Estimate how long it will take you to develop, test & document.

      Right. Make sure the project plan includes things like "Machine installation," "Documentation creation," "Training," etc. (when I say "training", I'm refering to you giving training to your client on how to manage the system)

Re: [OT] How much would you quote?
by cog (Parson) on Oct 14, 2005 at 10:58 UTC
    Just some thoughts:

    How do you go about quoting a price for coding an entire site?

    Make a project plan, including and detailing all tasks to be done (find Andy Lester's slides for his talk on project estimation). Don't forget to put some oxygen on your deadlines.

    After you know (roughly, of course) how long it's gonna take you, you can put a price for your work during that time.

    Be sure the client agrees with the list of tasks to do (that is, that the client knows which functionalities are going to be implemented), and make sure it's in writing, so no one demands you anything else later on ("but the site must do Y!", "Sure, but that was not comtemplated, so it's gonna cost/take more").

    There're bound to be bugs that will only be uncovered when the system is being put to use

    Include X hours of support in the pack they're buying. Every time you fix a bug, report how long it took you to fix it.

    The amount of time for support should probably be based on the project complexity.

Re: [OT] How much would you quote?
by ioannis (Abbot) on Oct 14, 2005 at 11:09 UTC
    For small projects, my company charges 200 hours for 'Analysis and Design' whose goal is to allow us to understand the problem better and to quote a more reliable price. Even at the end of this phase, we still prefer not to commit to fixed price, so we ask for (actual_hours * hourly_fee). When the client is interested only in fixed price, then it is estimate + 30% since we are taking the risk -- this assumes we are comfortable with our estimates. If we have not performed similar projects before, we will probably refuse to accept the new business when payment is based on fixed price.
Re: [OT] How much would you quote?
by tomhukins (Curate) on Oct 14, 2005 at 12:23 UTC
    I'm half way through reading Scott Berkun's The Art of Project Management which describes how to write specifications and determine when projects have finished, amongst other things. I also recommend his essays although they don't address the questions you ask here.
Re: [OT] How much would you quote?
by Your Mother (Archbishop) on Oct 15, 2005 at 04:15 UTC

    Some excellent advice already. Something that I found edifying was the customer/iteration/planning advice here: Extreme Perl. I think their advice, especially for project management issues, is excellent. Story cards and feedback advice in particular.

    As far as pricing. It really depends. Some contractors charge $150/hr and are largely worth it. Others charge $25/hr but take 10 times longer so aren't worth it at all. I charge $30-$80/hr depending on the type of work. I tend to screw myself because I don't enforce the original spec well enough so end up adding hours for free. An entire project might look like so many hours that you're willing to do a project rate too. Whatever hours you come up with for your original estimate, double them. "Under promise, over deliver" will make your customers happy. The converse will make positive references scarce.

    Being a good contractor takes hacking skills but it's only a slice of the problem pie.

Re: [OT] How much would you quote?
by cbrandtbuffalo (Deacon) on Oct 14, 2005 at 20:58 UTC
    Also make sure you agree on a method for dealing with new features. They are bound to ask for something that wasn't in the original spec, and you don't want to be in the position of "throwing it in." You'll want a clear process for quoting the extra work for the new feature and noting the impact on any delivery time-frame.
Re: [OT] How much would you quote?
by swampyankee (Parson) on Oct 17, 2005 at 22:12 UTC

    One further piece of advice: the specs and the quote are a contract, which should be vetted by a lawyer who specializes in contract law. I would be very surprised if your customer does not have a lawyer on retainer, and I would be even more surprised if their lawyer does not try to ensure that the contract between you and your customer doesn't have clauses which would make successful fulfillment on your part virtually impossible.

    Lawyers are also very good at finding ambiguities; your lawyer may have absolutely no clue what "HTML" or a "web page" is, she may also be able to find that item 37 ("Bug correction 12 months after delivery") contradicts state law and is void (so you've got to allow for an indefinite warranty) or item 104 ("screen colors and fonts") violates ADA.

    I'm not a big fan of lawyers, but my experience is that corporate purchasing agents will not go out of their way to ensure vendors are promptly paid.

    emc

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://500178]
Approved by marto
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2024-03-29 11:28 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found