On Mon, 6 May 2002, Daniel Fascia wrote: > Im looking for some more wisdom from the experts. This question is > mainly aimed at UK web developers... ...And there was a great article on the site, written by Martin IIRC, on how to assess your circumstances in order to decide what, and how, to charge. Only problem is, I can't find it to save my life, even via Members pages. Nor did any high-percentage searches turn it up. Dan, was it pulled? > Ive developed a lot of sites but they have nearly always been for > friends or by recommendation and I have therefore been in a vicious > circle of undercharging for jobs so as not do damage relations etc... So you recognize the problem, which is good. > I have been asked to develop a site for wine sales incorporating online > selling, stock management and order processing, the whole shebang... > > I have no idea how much such a site should cost to develop and once > again its for a friend who has no concept of the cost of web work > > Could someone give me some sort of guidelines. I find this quite a > daunting topic since there are no set standards for how much web > development costs At first glance, it occurs to me that the job in question may require you to extend your skillset, if you intend to handle both the client and server sides of the job. You may want to look into subcontracting or co-contracting an experienced programmer, unless your expected time to delivery is generous. My reaction comes in parts. 1. Discussion of specific hourly rates is out of bounds on this list, and on any list physically hosted in the USA, as a result of antitrust concerns. And that, as they say, is that. 2. Since you have little experience with this sort of work, it will most likely have to be billed on a time and materials basis. When you've done the work before, and you've established a process and can see the entire engagement through a crystal ball from the time you write the opening sentence of your proposal, fixed-cost bidding is feasible. But this is emphatically NOT your environment. That said, if you do the work yourself you will be treading new ground. If you have no significant programming experience, it seems from my perspective that the most ethical thing to do would be to charge a much lower rate, perhaps only enough to meet your overhead (if the client already understands your lack of experience). Nor is it possible to collect viable estimates from other developers, without going into a lot of detail as to how the proposed site will function. You already have some sense of how long it takes to build a static site based on a variety of objective conditions... which gives you a place to start. However, since I don't know your programming background, it's hard to suggest a coefficient of how-much-longer the job will require. In fact, your RFI rather demands a discussion of application design and development techniques, and how those apply to your unique situation. On the assumption that you're green, I can share the following process for end-to-end development, which I drafted for an article that I intended to write last summer <calendar type="n_hemi" /> but still haven't gotten around to: a. Needs assessment: The business case for the site is established, in some detail. Who will use the site? What platforms will they be using to access the site? What are the site's benefits and features, to the client (your customer) and the end user (the client's customer)? Is there a guideline for the cost and process of maintenance? And so on... (more below) b. Scenarioes: Create three to five fictional users with estimates of demographics and goals, and roleplay how they would traverse the user experience, from first visit to browsing to shopping to purchase to shipping to receipt to repeat orders, based on the existing body Use this roleplaying to identify in advance obstacles the user may face to purchasing the products vended, as well as features that will enhance the UX thereby increasing the goodwill generated by the site and increasing likewise the probability that the visitor will take their credit card from their pocketbook. c. Clientside architecture design: Using the insights generated from the earlier roleplaying, you can then divvy up the information and products that comprise the site as an organic "object," in a way that will be intuitive for the end user. Note also that steps [b] and [c] need to be conducted for the site's shopping cart and CMS, if these are to be built from scratch. In this latter case, your emphasis will be on defining the goals and tasks of this side of the application, and simplifying their accomplishment to the greatest extent that can be considered practical. d. Serverside architecture design: having formed a reasonable picture of how users of all classes can be expected (in "normal" cases) to interact with the site, you can then describe the way the various mods of code on the server side will communicate with one another, the types of data that will consitute their I/O, and so forth. e. Architecture testing: This is essentially a repeat of step [b], except that you can now repeat the process with an understanding of how the programming and markup will be served to the user. At this point, you've still written very little code or markup, and what has been written is understood to be in draft form. This step gives you an estimate of how many pageviews and/or clicks will be required to complete tasks, thereby giving you information you can use to "trim fat" from the user experience. f. Schema: Using the information gained from steps [d] and [e], you can now construct of paper mockup of the site's database(s). g. Pseudocode: You have your DB and your flowchart. Now you can write sample code in order to assess the functions, structures and objects that will be used for each discrete task on the site - and more importantly, how those widgets will interact with one another. Done properly this work allows you to predict resource issues, language limitations, security holes, and other likely points of failure before they are buried lines deep in production code. This step may well be consummated by the use of natural language or descriptive language. h. User interface development: Also known as traditional design and production, with the benefit of a tremendous amount of insight. i. Backend development: The execution of the plans made in steps [d] through [g]. j. Integration: If you have taken care to design and write the serverside software in a layered or modular fashion, it then becomes necessary to hook them together. If instead the application code is organic to the markup (which is generally a Bad Thing in an e-commerce environment) steps [h], [i], and [j] all occur in parallel. At the end of this step, you have a *whole* Web site. k. User testing: This is the part that Jakob and Jared love to talk about so much, so I'll spare eloquence here. Needs assessment in particular can be understood to establish the following facts: a. WHAT the site is meant to accomplish, both for the end user and the site operator b. WHO is meant to use the various parts of the site c. WHEN people are likely to use the site, both concurrently and during arbitrary periods of time - if you cannot make a fact based estimate, you make an arbitrary decision based on your resources d. HOW the site should be made scalable and otherwise mutable e. Resources available for the site's construction and operation There is a sixth criterion that has already been assessed, since repeat business is understood to be a business goal of the site in most if not all use scenarioes that can be thought-up. 3. Okay. Now that I've vomited the contents of my brain in regard to development process, let's talk about overhead. It's tempting when inexperienced to charge what you need to live on, when in fact you need to take into account a bunch of other costs, which in this instance are laid out with the independent lone developer in mind. a. Rent: how much does it cost for you to maintain your workspace? If nothing else, set this amount in terms of office_rent :: dwelling_rent as office_space :: dwelling_living_space. If you own the dwelling, remember to include the cost of homeowner's insurance, upkeep, and property taxes in addition to your mortgage payment. If you are a renter, likewise with renter's insurance and likely rent increases. b. Utilities and services: What is the cost of electricity, heat, telephone, garbage, and Internet access? Some or all of these liabilities are affected by the manner in which you conduct your business. c. Equipment: How much does the depreciation (or wear and tear) of your office equipment, rig, and software cost? e. Insurance: If you have private health insurance, how much is it costing you? If you are a member of a household and your spouse pays the benefits, it doesn't matter. That cost is still affecting you. f. Holidays: Unless you are an absolute workaholic and childless to boot, this constitutes a 4% increase in rate for most in North America, an 8.3% (1/12) increase in Europe. Or, you can just eat the money. If you have school-age children, that inserts more uncertainty. g. Federal and local income taxes: In the U.S. (dunno about elsewhere) the IRS wants its pound of flesh, which for most of the USians on this list is 27.5% of taxable income. State tax rates for the current filing year can be found at <http://www.taxadmin.org/fta/rate/ind_inc.html>. h. Payroll taxes: For a USian independent, these come out to 15.3% of gross income up to (currently) $84,900 per annum. 2.9% of that is in fact applied to all gross income. There are also other state taxes that may be assessed. i. Professional services: How much does it cost to pay your attorney, accountant, printer, answering service, professional subscriptions, and so forth each year? These comprise your cost of doing business. There are also marketing and the proportion of time you spend developing and providing non-billable services to accounts; these also need to be assessed, as does the time you spend on paperwork (invoicing, bookkeeping, etc.). With the latter cases, you can also assume that they will impact your utilization and/or the total number of hours you work during the year. So, let's suppose that in a year I spend: $1400 cost of workspace alone (tiny office in rented private home) $3000 software, hardware, and supplies $2400 health insurance $2900 utilities, internet, cell phone $2500 professional services The total comes to $12,200, and I've yet to drive a mile in my car, or eat so much as a single biscuit all year. Nor have I paid rent on the 85% of my living space that is set aside for PERSONAL use. If I expect to bill 1500 hours for the entire year, I have to bill $8.13 an hour just to meet these costs alone. Once I factor in taxes (27.5% federal, 15.3% payroll, 9% state for a total burden of 51.8%) and my holiday time (8.3%, and you add it because you're still paying overhead when you're on holiday - those costs don't disappear while you're gone), I discover that 60% (rounded down slightly) of my money can't be applied directly to operating costs, capital, savings, food, or discretionary income. In order to clear the $8.13, I need actually to charge 2.5x that amount, which is $20.33 per hour. This number increases further if you've got a bond to maintain, or you're paying premiums for errors & omissions insurance. That's how much I have to charge just to keep my business running smoothly from month to month. In this scenario I haven't spent a dime on marketing except for business cards and tri-fold brochures. Perhaps I've designed cheap presentation folders and letterheads. (And oh crap, I forgot to consider the cost of paper, which if you use a lot of it starts to add up). Now, let's look at what I (single, 27, no children, living in urban Oregon sharing living costs with a family member, does not own a vehicle, smokes but does not drink), might spend in a year to meet personal overhead (arithmetic which assumes that my entire phone bill and electricity bill are calculated as part of my cost of doing business, which is not strictly true): $3250 rent $ 750 public transport fares $2000 groceries $ 250 waste collection $5750 discretionary income $1500 savings So my personal total comes out to $13,500 for the year... and that assumes a fairly spartan lifestyle, as other Portlanders will testify. In that list you see no budget for durable goods or new clothes, even to replace a pair of shoes that's been worn out; I've lumped that into "discretionary income" in order to simplify the total. Another important assumption I've made is that all of my business is local. That's a neat fiction. In other words: to keep myself and my business sane and healthy, I've determined that I need to clear $26,000 for the year. We've already established that where I live, it's necessary for me to multiply that number by 2.5 in order to keep Uncle Sam happy and get two weeks of peace at some point during the year. We've also assumed that I'm going to accomplish 75% utilization while working a 40 hour week, which for most independents is a nice fantasy. Chances are that I'll need to spend closer to 50 hours a week in order to bill 1500 for the entire year. Two and one half times 26K is 65K, which is below the upper limit of the federal tax bracket applied above... so we're safe there. So... in order to work as an independent and keep an even keel through the year, I need to bill 1500 hours at $43.33 an hour. The numbers applied suggest that I'm neglecting some things even at THAT rate. My client has paid for my meal every time we've gone out to eat, and I'm not spending much on equipment. I don't have children, and I've also ignored the cost of student loan payments (and on and on) - I could easily eat up another $10. or $15. or $20. an hour that way. And I'm hardly living it up. If nothing else, you now know why it's so expensive to hire a plumber to fix your kitchen tap. -- Ben Henick Web Author At-Large Managing Editor http://www.io.com/persist1/ http://www.digital-web.com/ persist1 at io.com bmh at digital-web.com -- "Are you pondering what I'm pondering, Pinky?" "I think so, Brain, but... (snort) no, no, it's too stupid." "We will disguise ourselves as a cow." "Oh!" (giggles) "That was it exactly!"