What are the advantages and disadvantages (at economic and project level) in both cases?
1) assign the work to a third party (ie: a Web agency);
2) finding staff with which to design and implement the Web site;
I assume by "agency" you mean an outside company, a vendor, that will take complete responsibility for the project.
Advantages of using an external vendor:
- Relieves you of staffing and project management responsibility (these are the two major reasons that companies outsource)
- (Presumed) Proven technical and implementation expertise
- Forces you to create a complete specification of the site and to make design decisions up-front - IE, imposes high discipline on the process automatically and makes you accountable up front
Disadvantages of using an external vendor:
- The normal risks of outsourcing any project: vendor assigns less competent people than initially promised to your project, or the vendor has internal problems that lead to less than satisfactory performance.
- Forces you to create a complete specification of the site and to make design decisions up-front (this was presented before as an advantage. The parallel disadvantage here is "early lock in" of your decisions which may be limiting.)
- (as noted by Paul F.) communication difficulties are typical with all outsourcing, whether in-country or offshore
Advantages of developing internally:
- Gives you complete control of the personnel selection process and the entire development cycle
- Transparency - you know exactly what is happening at all times
- Allows you to defer design decisions and to develop iteratively in close contact with the developers
- Better communication than with outsourcing should be quite possible to achieve
- The normal risks of staffing and selecting technical people
- Allows you to defer design decisions - IE, less discipline upon you to make decisions as soon as possible
- Iteration is very possible (easy, in fact, when developers are under your direct control) but can lead to spiraling cost and complexity
I see the issues of quality control and follow-on maintenance as being very separable from the buy or make decision. The vendor's output may well have better or worse quality than your hand picked people: some outsourcers do a terrific sales job to land a project and then fail to deliver quality; or they may run circles around the staff you would pick. The vendor may have better luck at maintenance and upgrades, or worse luck, than you will.
I see the whole make vs. buy equation as coming down to how much control and responsibility you want over the end result. With more control comes more responsibility for the final result.