Tips for Selecting a Web Development Firm?
cyrano asks: "The organization I work with is looking for nothing less than a complete re-launch of its web site - upgrading from cobbled together static HTML and ASP pages to nothing less than a dynamic, database-driven site with a full-featured Content Management System and a secure eCommerce component. I have already collected proposals from several firms, each advocating the benefits of Java and Struts vs. ASP.NET vs. PHP...however, the technology used by each firm will only form a small part in my final decision. My true concern is ensuring that the firm I contract will be professional, cooperative, timely and will ultimately deliver their services as promised. What sort of questions should I be asking them, and what sort of warning signs should I look out for to make sure I find the perfect fit?"
Simplest answer is the most obvious, look at their website, look at websites they've created, and if they've used the languages you want on your website, and have done it well, it stands to reason they are able to do it again.
The Answer
My true concern is ensuring that the firm I contract will be professional, cooperative, timely and will ultimately deliver their services as promised.
Sorry, wrong industry: web-developers provide none of the above.
Just a simple bit of advice , but have a close look at the company's portfolio . ,a consistant quality is a fine gaurantee .
There is no better gauge of skill
Personaly i would also do some background checks , perhaps contact your peers in the other firms for which the web deisgn/development company has worked for.
content first , style second (no mystery meat)
The only things certain in war are Propaganda and Death. You can never be sure which is which though
...you want people who will complete the work you are asking for...not evangelists rtrying to prove their tech choice is better.
If someone crying the superiority of Java over PHP over ASP, Windows over UNIX/Linux...they are not going to be making the best choices for the various parts of the product.
Each has strengths and weaknesses, and integrates better or wrose with certain things. A key question to ask them if if they know the best X to integrate thier solution with (X). The mythical (x) need not even be what they will be ultimately building against, its thoery question but they don't need to know that when you ask.
Power Corrupts,Absolute Power Corrupts Absolutely, leaving one person(group)in charge is absolutely corrupt.
These are all questions that a development firm's previous clients would have answers to. Most company sites I see usually have some sort of portfolio listing previous and current clients. If you like the firm's work, start contacting their previous clients and ask them your questions.
As far as what technology they use, I'd say that as long as it fits your needs (each tech has it's own strengths and weaknesses) and is quality work, it doesn't really matter unless you've got something in mind.
Good luck.
I was in a discussion with our web developers and I said that the back end of the site needed to be easy for the administrators and moderators to use, which they disputed.
They said that they could just give everyone a day's training on how to administrate the site and then it didn't need to be easy to use.
I was so shocked I couldn't reply, and once I had gathered myself together I couldn't persuade them otherwise. The website still isn't easy to administrate.
Get references from them and actually check them out. Sure you'll get only what they want to give you, but if you ask the right questions you'll be able to sort through the fluff. The only other thing I would say is put in deliverables into your contract. Many times development has been hindered by lack of planning and set timelines.
I would check their existing work against the w3c validator
http://validator.w3.org/
and open them up in a selection of browsers.
Its is unlikely you will find any non trivial site that passes the validator, but you can see who's is worst.
You may not be that concerned about browser compatibility, but it does show how much care they take when writing their code (in case of dynamic) or html
You could go as far as putting it in their contract that their pages pass the validator.
But note that passing the validator is not absolute proof that the page is correct, just that the sgml/xml is valid.
You want to find a company that's concerned about how you're going to use and maintain the system. If they're developing use cases and trying to assess the technical knowledge of people who will use the system, they're on the right track. If they're worrying about whether to use Windows or Unix or something else, worry. If they're pushing a specific technology or product, worry.
When they present their proposals, ask why each piece is needed, and take the offensive. Ask why they didn't use something smaller or simpler. "Upgradeability" and "future growth" are, more often than not, excuses to sell you crap that you'll never use UNLESS you specifically told them that those things mattered to you. It amazes me how many people end up with a database-backed CMS for a relatively static site with a miniscule archive.
Ask about things like standards compliance and handicapped accessibility. A good company will either do that by default or jot down that it matters to you. It won't be a big deal to them. A bad company will try to convince you that IE on Windows (or whatever their technology of choice supports) is the only browser that matters.
You also want to be a little bit of a pest early on. Cold-call them a day or two after you meet to see how things are going. If they have -any- progress, you're in good shape. If the answer is "Oh, uh, we're still looking into that" or something equally evasive, well, it's not going to get better.
--
You should also check their work in a few browsers (safari, Firefox, IE6, etc). There is no excuse for a professional website not working in all major browsers. Make sure you own the work (A lot of our clients had been screwed in the past by this). .NET thats what is going to get done. The only thing we really push hard is use of CSS for all layout. It saves bandwidth and makes the site easier to modify in the future.
Try to stay away from a company that pushes one language over another. We do whats best for the client, if that means php, asp, perl, java, or even
Finally, if you are also going to host with them, find out who owns their servers, and where they are located. Inquire about their backup system and make sure they have standards for uptime.
I'll give you realll gud website for $500!
"He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
Web design - The current trend is away from flashy sites that slow or distract the user from what they're looking for and confuse search engines. Fluid layouts are good. Another trend is reducing the space between the top of the page and the content, and sometimes moving the navigation bar to the right to reduce mouse movement between the nav bar and the scroll bar and allow the content to be closer to the top left, drawing the user's eyes to the content and putting it higher up on the page for the search engines.
SEO - Search engine optimization. If they've researched it they should know the acronym. Most of the old techniques no longer work in Google. Some will get you penalties. No javascript based links that the search engines can't follow. Repetition is bad. Very similar pages are bad, often the case with product pages where a product has many similar configurations, each having its own page. Dynamic pages with long urls or a countless number of possible urls (like with session ids) are bad because search engines will only spider a small number of them to avoid getting thousands of really similar pages from one dynamic page. Aside from avoiding repetition and things that confuse the search engine, content is mostly king.
Security - They should at least know about sql injection.
Content organization - As a plus, they should be able to organize your site based on what your customers are most likely to be searching for, what you sell the most of. This decides things like front page links, what images best represent each category, and so on. It's not enough just to have an online catalog with every product having equal weight. It might help if they took microeconomics in college.
As for which language, php, java, or asp.net, it doesn't matter as much as the quality of the programmer. A lot of things seem to take much less effort in php though.
Context: I've been doing web development professionaly for seven years, the last four with my own small web development company. We've worked with other firms, and been called in to clean up other people's work (the latter more often than I'd care for - that kind of work is zero fun).
As many other have pointed out, language doesn't matter a whole lot. We do recommend open source platforms, for the reasons familiar to anyone that reads this site often, but the most important question about this is whether the tool will fit the job. I've told clients before that what they really want is a Microsoft solution (because it fits the requirements) and that they should really find another firm to do it (because I'd rather put a hot poker in my eye than work with ASP).
Portfolio is important, but there are a million ways of fluffing it. Maybe it was subcontracted work, maybe they happened to have a really good person working for them for a few months, and they left because the company sucked. Maybe they're a large company, and their portfolio is all A team work, but you'll be getting the B team. On the other side, we've done work that would never make our portfolio because the client insisted on a nuclear orange and blue color scheme, or 500 links on the main page.
Picking a good web development company is difficult, largely because a) most of them are truly horrible and inexperienced, and b) the important things are difficult to quantify. There's a few things that are immediate warning signs, though. These should be rampantly obvious, but this is Ask Slashdot, and I've encountered each of these from companies that a client thought looked good on paper:
Some of the things that you should look for (this list keeps growing, I had to stop early):
This is the voice of World Control. I bring you Peace.
Disclaimer: I'm a web developer, and I don't always do things this way myself. They are rules of thumb, not laws that must be followed.
The most important thing to bear in mind is that you need to know what it is you want to achieve with the website. Some firms are all too happy to sell you an all-singing, all-dancing e-commerce haven (and charge appropriately), when all you actually need is a contact form, address and phone number on a single page.
Business stuff:
Get concrete deliverables. Example deliverables:
These deliverables will be missed a couple of times. The important thing is that your contract states what constitutes acceptable quality and how slips will be resolved - if they lose money every time they miss a date or forget a feature, they'll keep to schedule and not rush things out the door.
There are a few signs to watch out for from people selling snake-oil.
The human touch. Visit their offices a couple of times.
Technology: