Estimating Costs

The author suggests that development costs are "notoriously difficult" to estimate for Web projects, but largely because it is treated as a vague process rather than managed as a project. As with anything else, a Web project requires resources and time to accomplish a task. It is not that different from anything else.

Estimate versus Budget

While it is a common practice to set budgets by estimates, it's important to understand the two are not the same. A budget sets a desired maximum spending limit according to expected revenues, whereas a cost estimate arrives at an idealistic minimum cost amount according to expected tasks and conditions.

There is a need to correlate the two - the cost of accomplishing a project must be paid out of a department's budget. The only solution to this is to take the time to determine exactly what is needed and plan for contingencies (the percentage should consider the risk) ... and the most common reason for running over budget is preparing a cost estimate based on sketchy details.


With Web development projects, there are two classes of cost: the initial development cost and ongoing maintenance costs.

Development costs are generally composed of time and materials, with a hedge for overages. The recommendation is a 15% buffer, but more may be necessary where the risk of variance in cost is high.

The author suggests counseling management to understand that a cost estimate is a cost estimate, and not an exact price quote: a Web project is not something that's bought off the rack at a fixed price.

Maintenance costs can be as little as a few hundred or thousand dollars each month to pay the rent for a server, or it may be that a system requires a staff of people on an ongoing basis (e.g., a system to enable users to ask questions by e-mail should consider the cost of paying an employee to receive and answer these questions).

Cost of Cost Estimating

With large scale projects, significant time must be invested in developing project specifications and investigating costs in order to provide an estimate. This time comes at a cost of its own, which can be significant. There's nothing to be done for it, and if you shortcut this process, it's almost certain that cost estimates will be very, very wrong.


There are a few common obstacles in estimating the costs of development.

One of the major obstacles is in skill: a skilled programmer can complete tasks faster than an unskilled one, even though they are billed at the same rate. The industry has tried to address this by classifying programmers according to years of experience, but it's more a matter of talent and aptitude: two programmers with the same number of years behind a desk may have vastly different levels of skill at coding. Except when project teams are very large, the individual differences will not average out.

Another obstacle is innovation: a project may require one or more unique problems to be solved - and the time it takes to innovate (to find a method for doping something) is much less tractable than the time it takes to perform known, routine tasks.

Another difficult are is the cost of content production: the words and pictures on a Web site must be produced, or content rights purchased for them, and estimating these costs is a separate discipline that adds additional variance to the project plan.

Methods of Cost Estimation

Two methods of estimation are common:

Budget-first estimation takes into consideration the amount of funds available, and a project is designed to be accomplished within that budget, which often means trimming back features to accomplish the project within a given budget.

Design-first estimation develops an estimate based on project design. Thre are three approaches to this:

  1. Time and materials - Assesses the inputs necessary to perform the tasks as described.
  2. Feature/Data Costing - Looks at the various components of a project (example: an online store requires a database of products, shopping cart program, integration with fulfillment systems, etc.) and coming up with an estimated cost for each.
  3. Proposals - Develops a project plan and uses it as an RFP to get vendors to bid on the cost of doing the project.

Some sample estimates are provided - each includes labor and materials. One bases labor on an hourly charge, the second on a percent of salary (if the job takes 50% of a worker's time for 3 months, that's the "cost").