The complexities of creating a web site are often underestimated. Even people that should know better such as, programmers, designers and clients tend to overestimate their contribution and underestimate the contribution of all the other parties involved in building the website. It is no surprise that websites, and web applications alike, often lack one element or another.
Most people still think that it is enough to have a web presence to be able to make sales online. Unfortunately, the web is still a multidisciplinary environment, meaning that you need experts from several different fields to make your site a success.

1) Typically, a good website is laid out in Photoshop by an expert designer. The designer should have a background in printing, but also be experienced in creating usable interface and not necessarily magazine type layout. This is because for your site to be usable, as well as pretty, the designer needs to understand and take into consideration the actions that you want your user to take.
2) After you came up with a great design, which reflects your brand, you need someone who can translate this vision into HTML. This person usually referred to as the HTML programmer. He cuts the images and recomposes them into HTML, so that the text is readable by the search engines, and the images load quickly.
3) After your site is now a nice HTML prototype you need a midware programmer that working in team with a database programmer can “hook up” the newly created HTML to the database via PHP, ASP or another midware language. This will make your site dynamic or an extension of your internal database. This means that the actual HTML pages, are created on the fly reflecting the addition or deletions that you make to your database/ catalogue.
4) This of course brings into the picture the database. Databases can be as simple as a text file and as complex as you want them to be. Large database require the expertise of a database administrator. Te most common databases are MYSQL (free) MSSQL and Oracle
5) You think you are all done but that is not the case, where all good stuff you just created is is going to reside? Of course, you need a webserver, and who is going to make sure that your www.name points to the right server, that your server is always up, patched properly and protected from intruders? But of course the network administrator!
6) Something missing? What goes on a nice appealing website full of interesting products? Text, yes text such as catchy descriptions of items, explanation, promotional text, corporate information, maybe some news about what is happening in your industry and various information to attract customers? Whose job is this? The copywriter. The copy writer works with the management, the marketing and the sales department to understand the corporate philosophy and needs to be able to translate this input into text for the website so that users will feel the personality of the operation even in the online envirornment.
7) You are probably asking yourself if this is all you need. Not quite, now that you have this great application, running smoothly on a webserver, with beautiful graphic, text and products who is going to see your website? This is where the web marketing person comes into place, allocating some of your budget on press releases, search engine optimization and advertising.
8) How about now? I am sure you cannot wait to finish but to coordinate all of these people you are going to need a project manager that keeps track of who is doing what and coordinate the workflow.
Now you are ready to go.
So to summarize, for a small but effective e-commerce site you need:
- Web Designer
- HTML programmer
- Midware programmer
- Database administrator
- Network Administrator
- Copywriter
- SEO / Marketing
- Project management
This job can be done effectively by a minimum of 2/3 people to a team of up to 12 people some of the administrative functions can be done by the ISP, some of the marketing and copy writing functions by your internal marketing department. Of course, you can go to a "do it all" person, but your site is going to lack on one or more of the elements outlined above the difference being that a small crappy site is an expenditure and a sophisticated, well executed site is an investment and an asset