What does it cost to build a web site?

Alot! Most of it is time, and time is money. It can be very difficult to account for the costs, since they are not tangible objects.

First, you need a name - so you’ll have to spend the time to choose one and then register it.

Then, you need a server, for the site and for email (it may be the same server), a server is the computer that delivers the site. You can put one in your office, choose a hosting company, or let a company that builds your site handle the hosting. Each has its own costs and benefits. They are offered in decreasing levels of skill requirement, but increasing cost. This is a recurring cost, it will affect the reliability of the site and the cost of maintenance. It also affects the level of control you have over your site and system. You also need an Internet connection - and a high-speed connection to support a busy server may be very expensive.

The site has three main components, design, content, and logic. They can be provided by different organizations. If one company has many sites with designs you like - get an estimate from them for a design. Whether you purchase just a visual image or the HTML/CSS code must be specified. Content is often best managed by an application - either a blog or content management system (CMS). That can be done in house, with some training, or outsourced. The logic may be the blog or CMS. Don’t build one - buy it, or use an open source solution. Visit some sites and run through the demos, see if the person who will manage the content likes the applications as well. Integrating the application and the design should be done by a company with experience with that product. This applies to ecommerce solutions as well.

Be prepared to clearly state what you are trying to do. Try to stay focussed on that objective throughout the project, changes can be very expensive, for all parties. If you don’t have a clear objective, it may be better to wait until you do.

Use the Cache - Micro page overhead can be overcome with the browser cache

Although frames and iframes may require duplicate requests, most browsers will cache .js, .css, and .htm/.html files. This virtually eliminates the redundant request overhead, while still allowing a rich interface constructed from a page of micro pages.

This approach also avoids the complexity of AJAX/JSON. Done properly, it is completely transparent to the site visitor.

Business - Success

Any successful transaction relies on the following:

  1. Clearly defining the product or service to be delivered
  2. Understanding what it costs to deliver it
  3. Doing the work well

Easy mistakes:

  • Optimism - unrealistic agreements
  • Scope creep - allowing the product or service to change beyond what can be absorbed by the cost of delivery
  • Pursuit of perfection - failing to limit the delivery to what was agreed upon in an effort to do an outstanding job at the expense of the provider
  • Incompetence - inability of the provider to deliver due to lack of skill
  • Poor cost control - this begins with the estimate or price. It must reflect the actual cost to deliver the product or server. Through the entire project, those costs must be tracked to keep the project within the budget and provide data for future projects
  • Team failure - Failure of the team to work cohesively

Organization - Titles and Roles

Titles and roles define an organization.

Titles reflect the responsibilities, and there is a fairly standard hierarchy:

  • President
  • Vice President
  • Director
  • Manager
  • Team Leader/Senior Team Member
  • Team Member

These titles confer implicit authority, and if enforced by upper management, explicit authority.

It is extremely important to match the title with the skills of the holder, in order to balance the team. For example, if there is a junior manager, and a senior technical person, all parties should understand when the manager’s decision is final, and when the senior person is responsible for ensuring that the best technical approach is followed. Failure to establish these roles prevents the important checks and balances of a strong team, or creates an environment where team members are bypassed to avoid conflict, to the detriment of the project.

Titles which are inflated, for any reason, defeat the organization. Even if it is an interim assignment, if the title holder is not well-suited for their post, problems will arise. An undeserved promotion is difficult to undo, and can have serious long-term consequences.

It’s impossible to construct the perfect team, so in addition to the formal assignment of titles and roles, the team members’ strengths and weaknesses must be considered.

The starting point should be the company’s mission statement. After all, the objective of the team is to fulfill the mission of the company, or some element of it. Once the mission is broken out into tangible pieces, identifying who is best at delivering them is next. Care should be taken to ensure the flow of deliverables is properly managed by those best qualified.

Common job titles/roles and requisite skills in the web

Graphic designer/Web designer/Designer
Builds a visual interface – an image
Skills
Adobe PhotoShop
Adobe Illustrator
Art / color / design
User interface knowledge

Web developer
Usually converts the comp or image into XHTML/HTML/CSS
Skills
XHTML
HTML
CSS
Able to prepare images for the web
Able to use javascript to support rich interfaces

Internet/LAMP engineer
Usually makes the site work – provides all backend support to get the HTML from the server to the browser
Skills
HTML/CSS – basic competence
LAMP – understanding of the whole stack
Strong logic
Able to install a commercial application and make it run
Able to help a developer customize an application

DBA
No explanation needed

Content Editor
Responsible for posting content
Skills
Strong written communication
Should be able to associate images with text
Able to connect content with links, reusing it efficiently

SEO
Responsible for setting up a site to get the best possible search engine positioning
Skills
Able to follow the instructions at Google/Yahoo, etc
Should be able to handle basic Linux commands
Advise content editor

Server admin
No further explanation needed

Site admin
Handles issues like setting up email accounts, supporting clients