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
This comes down to a matter of preference, and also what type of skills your own organization has.
Personally I would stay far away from PHP. I prefer jsp/servlets, however Struts has gained a reputation as an albatross. Is there anybody proposing using Spring, or some other lightweight framework?
It's 10 PM. Do you know if you're un-American?
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.
anyone who claims to guarantee search rankings with their design strategys.
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.
Look at the sites they have listed on their web-site. Contact these companies and get references. If these companies wont give references (or you can't get in contact with the correct people) then as a last resort ask the web company themselves for references, or contacts at the companies you tried to talk to.
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.
--
Check the other sites they've done. See if they look like something you could use. Ask the other companies if they were good to work with.
See how much experience they have. If one of their developers is an active participant in a Free software project of some sort, that's a good sign.
Finally, sacrifice a chicken and mutter an incantation from the darkest magick of Voodou. The project will go over-time, over-buget, and will be atrociously broken in unexpected ways. The only way to avoid this for any non-trivial system is to pay a lot of money, or do something highly derivative.
I wouldn't bother with trying to measure which language/technique is "best". They're all good and bad in different ways. I myself like PHP because it's easy and fast, and if I get hit by a bus there are gobs of people who can spend a week looking at the code and pick up where I left off.
Check out Drupal. You might find it to be a perfect fit for you. I use it almost exclusively as it's very powerful and very easy--and very fast, incidentally. I'm not so thrilled about a few things--that it uses the database as a less-dangerous filesystem and not as a true RDBMS, mostly because of a MySQL mindset; that some of the modules (image.module) requires a Web server-writable directory--but by and large it solves 90% of the problems and isn't as difficult to use as Zope/Plone.
Potato chips are a by-yourself food.
Although not the absolute best way of going about it, it might give you the best feedback:
Look up existing sites, call the client, and ask them about thier experience.
Some people may not talk about it or may get upset, but eventually you should find a few that will share thier experiences.
This is still a bit tricky because clients that stay with a firm do so because they like the results. It's hard to find people that have a strong dislike for the company they're still with - strong bonds are formed between client and firm.
Aside from that, go with yoour gut instinct. Humans have natural reactions to situations for a reason ("intuition"). Follow that feeling when you talk to them. If they come off unconfident, fly-by-night, or anything bad, steer clear: the situation is probably worse than you think it is.
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
Explore his other books and the websites built by his company, Ars Digita (eg the elegant NY Review of Books site). Research the tragedy of Ars Digita, via Google I guess. Somewhere in here there used to be a long rant about how the venture capitalists got their toes in the door and proceeded to destroy the company, which was a very idealistic and efficient company that did just what you ask-- look for alumni or fans.
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.
Sadly, as a Senior Web Developer having worked at a variety of companies over the years, I've seen this firsthand too many times. It really depends on the skill of the people creating the site. But making an accurate assessment of that skill is near impossible. The companies will sweet talk you with a very professional proposal, show you amazing sites from their portfolio, let you talk with their very intelligent Senior Web Developer.... but they'll forget to metion that 75% of the proposal was from a template that they've honed over the years to look as good as possible, the people responsible for the amazing portfolio pieces no longer work there, and the Senior Web Developer won't ACTUALLY be involved in architecting the site. Assuming he's not retiring in 2 weeks.
I've unfortunately seen first hand alot of clients get the wool pulled over their eyes, and am sad to say that the only advice I can really offer is to go with your gut and/or get a reference from someone who's opinion you value, because most of the time when a company is courting you, it's 50% smoke and mirrors and 50% bullshit.
Ask them for references. Ask for positive ones and one that projects completed successfully but took longer then planned, problems arose, etc, and tell them you are looking to evaluate the professional side of their business as well as their technical. If they refuse, I'd think they might be one to stay away from. Also, toss their name into Google and see what comes up.......
Would I give a semi-negative references to a prospective client if they requested it? I think I would, knowing the reference I gave had given the customer 100% satisfaction after the problems arose. I think someone hearing "This blew up and that blew up that we didn't expect, but they stayed here all night to have us up and running in the morning" (or something like that) would consider that a positive thing. You always hear the "Everything went great!" references, which really don't tell the prospective customer that much...
Good luck.
-m
http://www.invisik.com
We worked with a company in regard to a content managment system for about 6 months and then decided it wasn't appropriate for us. It started with a on-line demo of the product. Then we had them come in-house for another day long demonstration that was divided into 2 parts, one targeted at end users and one target towards the technical staff. So far so good, all the right answers from the sales people (of course). They convinced us that a proof of concept (on their dime, just our time and some spare hardware) would completely convince us. They left the product with us in a test environment for 90 days. It was during this important testing phase that we got into the day-to-day grind and found the ugle details which decided us not to go with the product. See if you can get a similar opportunity to work with it in your "real world". Also, get an SLA (Service Level Agreement) with us much detail as you think you need.
Get references. Then call those references! And make them give you at least one reference they had a bad experience with. Everyone has had at least one bad reference and if they can't come up with one they are lying.
Also, just because the company is small or comes in low, doesn't mean they don't know what they are doing. I ran a small (4 person) firm for 5 years and we would lose bids to the big boys in town because the client wouldn't believe we could do it. I'd say half the time they would come back 6 months later wondering if we could "fix" their new site.
And finally, you should get to meet the team that's going to work on your project. Ideally they'll be at the meetings (at least one of them). Otherwise a *lot* gets lost in the translation from you, to the account rep, to the project manager, to the lead developer, to the people who do the work.
I have been contracting out web development work recently and I have not used the same firm or person twice. I am surprised with how few web developers know how to properly do CSS, well-formed HTML/XHTML.
Most of stuff they've designed is entirely table-based, 800x600 layouts that are cluttered and difficult to maintain.
What I am considering, is doing the page layouts myself and contracting out the photoshop-type stuff.
I own a small web development company that develops dynamic, content managed web sites built on Zope. We are in the process of writing a document entitled The Tough Pointed Questions to ask any web developer before you sign the cheque (and the only answers you should accept).
The idea of this document is to provide prospective clients (many of whom are not very knowledgeable) with a resource that will help them in choosing a firm to partner with, even if they don't choose us.
There is no one thing that you should ask or look for, there are many. Unfortunately the document isn't yet in a state that can be shared, but I'd be pleased to email a copy to anyone who'd like one once it's ready to disseminate. The 3 components of my email address are 'david', 'com' and 'emergence.'
CLARIFY YOUR REQUIREMENTS: Know your business objectives and mid to long term goals for the web site. Express them as Business Requirements to be sure you have scalability, localization, internationalization, accessibility and cross-browser compatibility in tow. Know your functional specs and express them as critical use cases. Be clear about what if must do, for how many at a time, how fast .... etc.
To 'rate' the vendor, listen for questions. If they are asking question they either aren't listening or have already made up their minds, neither of which is a good indicator for you.
HOW WILL YOU KNOW IF IT IS ANY GOOD?
What is the vendor's test methodology? Functional testing, load testing, usability testing? How has it been done in the past (by the prospective vendor)? Look for certification: HFI Certified Usability Analyst or CPE/CHFP certifications. Are their testing tools ones that you have experience with and can use in the future?
HOLD THE VENDOR'S FEET TO THE FIRE, BUT PAY FOR EXCEEDING EXPECTATIONS, TOO.
Consider a risk/reward contract where missed deliverables have consequences that hurt.
What is their preferred development process? Agile? Waterfall? Iterative waterfall, etc. How does that match you company process? Process matching is often as important as technology matching.
Insist to standards based development but most important get documentation that is clearly written and comprehensive.
HOW WILL THIS FIT INTO YOUR HOUSE?
What are the core technologies you use? How will the solution integrate? New technology means increases in total cost of ownership.
Request an integrated implementation and training proposal. Who will do what?
In the training proposal look for thoughtful 'user skill' analysis.
EVERY KID WANTS A PUPPY BUT WHO WILL WALK THE DOG?
Know your internal resources skills. What skills will be needed to keep the site going? Do you have them? Would a different technological approach align with your needs?
Watch for skills transfer support if it is needed, don't short yourself here. The site developer may not be qualified to provide the training but they should be able to tell you, in detail, what skills and technical knowledge will be needed. If it is needed, will the cost to 'get ready' be significant? Will the time to build the skill be significant? Is there enough time?
Site maintenance and ease of use for the CMS component are foundational to 'the day after' impacts.
If you expect post-project support get a detailed SLA.
If you want to know how well a given firm will do, ask them to do one of your pages up front. Of course, you will not use their code if they are not selected (and you will sign a contract to that effect).
It has been my experience that most firms will not do this -- but then (as others have noted), those are not the firms you want to bother dealing with. The few who do provide a "live sample" will be the ones that you will want to do business.
Think of it this way: when you're accepting bids for a design for your new building, you make the design firms submit their designs up front. You don't say, 'Oh, let's see your portfolio. Okay, that building you did __ years ago looks good, so you win the bid. Now design our building.'
Yeah, right.
I think the best thing you can do for your company would be to get a tour of their facility, talk to some programmers, and try to gauge what kind of operation they are running.
If you need some pointers on this, a good start would be The Joel Test. Grab a copy of Joel On Software and take it over there and say, "How does your company score on this test?" They may look at you funny; just tell them you're trying to be sure they're a high quality organization. You can check off some of the boxes yourself, like the "quite working conditions", but on others, you will just have to trust them. If they refuse to talk to you about that sort of thing, take them off your list and go on to the next place, because they are not worth your attention. (Keep in mind they may try to do the "Manage the iceberg" thing to you; this is probably actually a good sign. Just tell them to cut it out. :)
The most important aspect of the development practice, though, is PEOPLE, not tools or platform or methodology or any of that. Unfortunately, it will be very hard for you to get far enough inside an organization to figure out if they people are SMART and GET THINGS DONE. But if you get a chance to talk to someone like a lead developer or project manager within the company, look for intelligence and resourcefulness.
Things to avoid are places where you walk in and they tell you "We'll do your site in $TECHNOLOGY, and nothing else." Also, aviod any place that doesn't try to figure out WHAT EXACTLY YOUR ARE ASKING THEM TO DO before they commit to it!
Unfortunately, you probably will not select the company at which I work. Ces la vis.
*is run over by rotten tomatoes*
Don't put all your eggs in one basket.
Find a vendor you think will be good, have them break the project down into chunks of no more than a couple of weeks each. Have them do the first chunk only, with the understanding that if they do a good job, they'll get more work.
Then make sure the first chunk is done completely and well before giving them the next chunk. Accept no excuses or promises that they'll make you happy down the road. Do not give them the final payment until things are 100% complete. An incremental approach will substantially reduce risk of project failure.
Also, I strongly recommend that you pick somebody who writes unit tests and acceptance tests for their code. Having automated tests makes it much easier for other developers (yours, theirs, or new vendors) to work on the project.
My true concern is ensuring that the firm I contract will be professional, cooperative, timely and will ultimately deliver their services as promised.
:)
If that's really what you're after, look for an established and stable company that works on a "fixed-time, fixed-price" model, and keep an eye on any existing vendors that you want to have involved with the project.
Speaking from first-hand experience, the "fixed-time, fixed-price" model (done correctly) does more than help deliver what you want on time and on budget; it also forces everyone involved to do the proper amount of planning up front (the proper amount being significantly more than usual).
It also means that if your business and budget requirements are not reasonable, the project will end before you get past the planning stage, and you will burn very little money. Contrast that to finding out you won't get what you want (or you will have a larger bill) near the end when it's too late to turn back, and you can see the attraction.
As for the vendor thing, it is fairly common for existing vendors to poison the relationship with consultants to prevent them from becoming the new standard vendor, even if the services being provided only overlap slightly. If the consultant is good, this won't make the project crash and burn, but it is important to know where the trouble is coming from. So keep an eye out, and keep a representative around for all vendor-consultant contact.
I would love to tell you the name of the company that I work for, as we are very good at delivering services as you have described them, but I don't feel that would be appropriate here. If you look for a strong reputation, professionalism, stability (growing, profitable and tons of cash on hand), and adherence to the fixed-time, fixed-price model, you'll likely find us on your own.
Good luck.
First - visit their Webside using Firefox or Opera. If it doesn't work properly, forget about it.
Second - good balance between HTML, Flash, dynamic pages - What if the browser doesn't have Flash installed? Is the Web Site usable (or useless)??
how long until
Web development is development, so everything that runs for getting "ordinary" develpment work done run for web. The technologies are different, but they are always different. I'd recommend asking this question in one of joel spolsky's forums, such as this one
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.
1) do you care about usability? If NO, it doesn't matter which you choose, you'll be redesigning it in 12 months anyway. If YES, confinue to next question.
2) Are you working with 37signals (http://www.37signals.com/)? If NO, it doesn't matter, you'll be redesigning it in 12 months anyway. If YES, congratulations, you made the right choice!
Seriously, these guys are great, if you're looking for *usability* and simplicity and iPod-ness.
...look at previous work, but more importantly, contact the people that the work was done FOR. ask them their opinons of the other company and the results/process, just because it looks sexy doesn't mean it didn't cost 5 times more then promised or took twice as long or a myriad of other 'gotchas'.
in any case, they will ALL give you that figurative BJ while they're courting you(r money), but what happens AFTER you sign the line is where they all become a different company...hence, contact previous employers of theirs.
sigs suck
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:
In addition to paying attention to previous bodies of work, and what part of the world that they will be working out of...
Try to find out what their ideal design philosophies are. Keep in mind that your company is ultimately going to be the one that maintains that code. Make sure that you agree on those aspects, but don't let on to what you think is right.
Try to find people that are flexible on the platforms that they can write for. The reasoning for this is to avoid the vast number of cookie-cutter developers, the ones that take a version of .NET Nuke and make interface changes to it. If they can accomdate more platforms and languages, it is more than likely that they are more concerned with the design than the language.
Don't let politics determine the language. I view that having strong feelings about the type of language being used as pure idiocy. I can do in Java what I can do in C#, which I can do in PHP, ASP, C/CGI... whatever. They produce the same results. Having someone pound your head with "PHP ROX/ASP.NET SUX" does not affect the inevitable, which is: you will end up with the code in the end.
Lastly? Make sure that none of the devs read /.. It leads to a drastic decrease in efficiency, and increases the likelihood of polarization of opinion.
You need to restart your computer. Hold down the Power button for several seconds or press the Restart button.
I would have thought you couldn't do this, but I used to work for a web dev company, and some clients would actually ask to see resumes of the developers who would be working their project. I was a senior developer and/or tech lead so I had to keep my resume updated -- for clients to see.
There are obviously complications for them providing this info (because schedules are often quite fluid), but once you've narrowed down your choices, sort out a rough schedule and ask for the resumes of the lead developer/architect for your project, and the probable developers. They won't be able to guarantee you the general dev team (because of last minute shuffling when other projects run over, etc.), but they should be able to tell you who the lead will be.
A thought -- you might want to get a quick process rundown from them first to figure out who the "important" developer(s) will be -- what they call the "lead architect" might just be a senior guy who glances at the spec and says "Yup -- PHP, MySql, copy the basic layout from that site we did in March", then passes it off... then there's probably a team lead or something like that (and *that's* who you want to know more about).
Put another way, I can still install PHP3 on a brand-new FreeBSD webserver if I want to. Are you 100% certain that a proprietary solution will run on Longhorn a few years from now, especially if its vendor has been marginalized by Free or Open Source competitors? Are you willing to bet your business on it?
As a side note, I know this sounds like flamebait but I honestly mean it: contractors who advocate Free/Open solutions will probably do a better job than one who wants to use the latest closed offering. Why? Because there's currently a higher barrier to entry, meaning that the ones who have the initiative and smarts to get up and running on their own are the ones competing for your business. Contrast with "Be a certified web developer in just 14 days!" commercials on TV - do you really think they teach those courses on Tomcat?
Dewey, what part of this looks like authorities should be involved?
So, you ask the web-designer to make the admin so simple that they won't be needed to administrate it ... and you wonder why they "can't" do that!?
Considering that none of their sites are accessible, and they don't care about web standards (none of their pages come close to validating,) I'd say stay as far away from these bozos as possible.
Do they have their content ready?
You know what, the simple fact is that nowadays, there are thousands upon thousands of people who have the technical knowledge to do everything you want. The bottom line is that they're all going to feed you a line of crap and you're going to get as many answers as people you consider. I think you should treat it the same as if you were trying to find a GP. Just use your instinct.
1. Do you feel comfortable with the consultant?
2. Does the person seem to understand your goals and character of your organization?
3. Does the person try to oversell a particular service as opposed to offering a reasonable explanation and comparison of the options at hand?
4. Do you feel assured the person can provide the variety of needed services and where they can't, can they delegate to an appropriate specialist?
5. Does the person show a commitment to their job both now and in the past.
You can go and poll references from past jobs but the reality is that most clients don't know what a good job is, their working style is probably totally different than yours and in most cases the job was compromised by time, money, poor taste or poor business decisions. Until you meet with the consultant face to face you never really know.
I've had hundreds of jobs as a designer and I can say that the jobs that turned out well were the ones where there was a mutual respect and a minimum of compromises from both sides. If you're fighting all the time and have different styles of working it doesn't matter if you agree on the technology or the implementation or anything- the end result will suck.
Have them send you a list of companies they've done work for with a personal number for their contact there and ask questions. You should be able to tell if they are a team worth paying good money for pretty quickly.... ie: did they educate their customer enough to tell you anything of use.. if so then they probably know what they are doing... what sort of maintenance contract did they propose... is the cusotmer satisfied with their followup work as much as the initial development effort... read belwo for more good questions to ask.
A fool throws a stone into a well and a thousand sages can not remove it.
I always use Sluggy Freelance.
yea, and make sure their responses are readable and dont use all caps.
How to write an RFP - www.HowToWriteAnRFP.com This site offers a great guide on how to write an RFP for interactive projects and manage the vendor selection process.
Thank you for your thoughtful and detailed response.
I was wondering if you could expand upon the issues surrounding copyrights and code licensing.
One of our candidate firms is advocating development with their proprietary java libraries, as the libraries' use will "ensure quality and speed development." It seems to me that this would incur a substantial risk. I.e. if we contract this firm, a larger firm might acquire them and immediately start charging us a licensing fee for the code for which we don't have a copyright/license (unless we obtain such a copyright). Is this a correct reading of the situation?