Recently, a friend contacted me to ask some advice about assessing web firms. He was in China sourcing product for his new startup company, and was looking to work with Chinese web developers for his startup’s eCommerce website. He had seen a range of bids come in at a wide variety of price points, and wasn’t sure what to look for. He had a lot of questions for me. Do I go with the cheapest one? Are they all the same? Am I doing anything wrong that may be affecting the price tag? Are there any red flags I should be looking for?
Here’s the response I wrote to him:
It is pretty tricky to fully assess a company, here’s my advice:
Make sure they’ve been around awhile and that there’s more than one person doing everything. For small projects, a guy working out of his house with some Indian contractors will work, but for larger projects and long-term relationships, you want to make sure your whole web app isn’t dependent on a single person, but rather an established team.
If you can, call some of the firm’s clients. I’ve had many people ask me for references, which I gladly provide, but usually I just say “sure, call anyone you see in my portfolio– give me a list and I’ll give you numbers.” You’d be hoping for an answer along those lines. Bear in mind that 100% of the web apps out there have experienced problems at one point in their existence (usually they experience problems often)– so take the references with a grain of salt. Some clients understand that the web is a young technology and work with you to improve your apps, while some think that one bug means the whole firm sucks.
Be willing to bend, and express that to the firm. You have a grand idea about how your app should work, but being flexible in that idea will allow a firm to use more pre-built applications to meet your needs, which can save you a lot of time. If a web developer sees you as being potentially picky, they will double, triple, quadruple the estimate in order to cover their butts. Say things like “I envision it working this way, but would be interested in other options if you know of more efficient ways to get from point a to point b.” When someone comes to me and says “it has to work this way, exactly” I never agree to work with them because that kind of attitude is an indicator that the person is not going to be flexible when the technology available presents obstacles or limitations. When a developer sees a project as being a collaboration with a savvy, flexible client, then they suddenly want to work for you because it has the potential to be an interesting experience. So much of what we do in this industry is boring, so convincing them that you’re going to be their favorite client goes a long way toward getting you what you want.
Be wary of anything proprietary. If a firm has developed software that they claim will both wipe your butt and start your car, but you can only use that software while you’re with them, then run the other way. You want ownership of what you’ve paid for, and you want it to run on common platforms: the most common, stable platform for webservers is Linux. Called a LAMP environment: Linux, Apache, MySQL, PHP. Red Hat Enterprise or CentOS. Far less common is Windows. Windows provides MS specialists with some handy shortcuts, but it’s my opinion that you have more scalability and flexibility with PHP, Cold Fusion or Ruby apps rather than ASPX apps. You want to be able to pack up your site and move it to a new server without too much hassle or legal/ownership issues.
Once you’ve chosen a firm, don’t micro-manage the design part. It’s really tempting for a lot of clients to get in there and over-direct the design process. Let’s face it, for those not artistically inclined, it can be fun to have an artist standing by to execute your ideas for you. But you need to bear something in mind here: a skilled artist has undergone a lifetime of training, practice and experience that has added up to make him/her successful. So it’s education + training + experience + a dose of natural ability (“an eye”). A truly skilled artist or designer goes through the same amount of education and training as a skilled surgeon, believe it or not. But you don’t sit there on the operating table and tell the surgeon what to do. So why would you do this with a designer?
Give a designer some good examples to go on. Help him/her select the imagery you’d like to use — pick out stock photos or provide some photos. Listen to his/her advice about the photos/imagery you’ve chosen. And then resist the urge to micro-manage. Knowing your place in the process and knowing when to back off and let a professional do his/her job will save you a lot of money and will result in a better looking product in the end. Otherwise, this could happen.
I hope this all helps out a bit. Don’t hesitate to ask more questions if you’re stuck.