Having been on all sides of the process we'd like to pass along a bit of the knowledge we've gained in how you should select your web design and web development partner.
Define your project to best of your ability1) Think of them being with you long-term. Depending on the size and scope of your project there is a strong likelihood that you will need the product developed for you to last a few years (average software or website is 3 to 5 years).
2) You're stuck with them unless you want to redo. If the site is complex, generally speaking, other companies detest supporting someone else's work, so you might have trouble finding support if you part ways with your initial developer. For more on this read about Technical Debt.
3) It won't be a one-time endeavor. Most web projects aren't one-time endeavors, but are continually updated, upgraded, overhauled, etc. to meet your organization's changing needs.
4) Know your own project! Before you even begin to engage others, especially those that you'll be paying money to, define your project to the best of your ability. Try to figure out what you need and what you don't need, how much you can afford to spend, what your timeline is, etc. A good firm will ask lots of questions; this is a good sign! Embrace the questions, use them to your advantage. It's also a sign when a firm doesn't ask any questions at all, or questions that are clearly articulated in your brief.
Evaluate their portfolioIt's easy to get overwhelmed when looking at the portfolios of web design and web development companies. Each company will have a wide range of projects and clients that it is easy to get confused. Name-dropping and splashy work can sometimes distract you from pure objectivity.
1) Look for projects similar to your own project. If you are looking for custom software, evaluating logo designs doesn't make much sense, nor does looking at complex software applications if you are looking for Flash animations. If you're looking for design work, look for work that is similar to the look that you'd like for your own project. Evaluate apples to apples.
2) Go beyond the names. Find out exactly what the company did for each specific client project. They might list an impressive client, but upon asking, you might learn that they worked for that client under a previous employer or that the work they did for that client was miniscule.
3) Look for repeat clients. Nothing speaks louder towards a client's satisfaction with a company than the re-hiring of the company for multiple projects.
Think of them as your newest business partnerIf you were going to bring in a new part-owner of your business, you'd evaluate that business partner on in a number of different ways. The same applies for your web site or web-based software since, as mentioned before, you'll probably need it to be supported for 3 to 5 years.
1) Establish a rapport. You're going to be working with them pretty closely for the next few months and years so it's important that you establish a good rapport with them and keep it positive. This is especially important as having a good working relationship with your development team will lead to your requests being handled promptly and efficiently.
2) Evaluate their team. It's an open secret that firms often have an A-team and a B-team, senior and experienced people and newbies. You should know the players within the company that you're working with and insist/require that they are assigned to you as your permanent team.
3) Check on their stability. People tend to put a greater focus on the initial project while completely forgetting about the long period after the project launches that you need to use and maintain it. Since projects are often multi-year commitments, you need to make sure that the firm you are partnering with will be there for you through the years. Have they been in business for a number of years, have there been any recent changes to their staffing, etc.
4) Identify who speaks for the company. Salesmen are good at doing what they were hired to do (make sales), but they often disappear once the project starts. For a successful project the person who committed the project should be an active participant from start to finish.
And finally... the 'ities, in no particular order1) Proximity. Comfort level is huge when it comes to web design and web development. Will you be able to communicate your needs effectively if the team you're working with isn't in the same neighborhood, city, state, or even country? Whatever the distance, the team needs to make you feel comfortable with their distance from you and communication channels.
2) Availability. If you're doing high-volume e-commerce through your website and it's down for an unknown reason, you will most likely want to reach someone. Will there be someone answering the phones? Will they be able to quickly get to work on your site's problem? And how responsive will they be with your initial project or will it be one person working on it part-time?
3) Understandability. Tech-speak can be hard enough to understand to the uninitiated. Accents, fast talkers, buzzword-speakers and poor telephone connections can make it even harder. Getting back to comfort level, you need to feel 100% comfortable that you and the team you hire are crystal clear in understanding each other.
4) Ability. Make sure they can do the job that you're hiring them to do. You don't want your project to be their learning project, their first time, or their way of training interns. It's your time, your money and your project.
5) Affordability. Be realistic and expect them to be realistic. A trick that some less-than-reputable firms like to take is to give you a fixed price but then have a caveat in the contract that says all pricing is hourly and any firm numbers are merely estimates. You want firms to commit to specific pricing, keep you appraised of pricing changes, and be clear about how much aspects cost.
If this seems overwhelming, you're right to feel that way. Building a website can be just as daunting as remodeling a kitchen or an entire house. There are lots of things to be aware of, lots of planning, and lots of questions that need to be asked before you select a firm.