Tuesday, April 9, 2013

Selecting a Web Development Company

I've written before about finding Web Development Firms in Los Angeles.  What I didn't discuss was how you should go about selecting the right company.  I just got an email asking about exactly this:

I'm with a new company that needs some software built, but doesn't need (or have the resources for) a large staff of software developers.  They've been in talks with some consulting companies, but don't quite the know the criteria for evaluating them and things like references(and where to get them).

So here are some thoughts on selecting the right firm.

What Do You Need

imageIt's critical to know what kind of skills you really need.  Different firms will have very different skill sets:

  • Do you need user interface design?  Graphic design?  Do you have the basics already defines and just need it to be fleshed out?  Or are you starting from scratch?
  • Do you have the functionality defined?
  • Do you have some complexity around algorithms, database?
  • Do you have scale issues now or later?
  • Are there particular technologies or platforms involved?

You will find firms that are design/interface heavy and light on development.  Others that are heavier on development.  Some will have some specific skill sets.  You may find that you want a combination of these skills and want to look at finding them in different people/firms.

Most of the rest of the post is going to focus more on finding development rather than design firms.  If you need user interface and/or graphic design, that's a slightly different selection process.  Some of what I have below applies.  And you will want to make sure you see what the particular designers have done, samples of their work product, their process, etc.  Make sure you know who will be doing the actual work.

Selection Criteria

Here is what I would be looking for:

  • What have they worked on?  Who worked on those projects?  Are they still at the firm?  Have they worked on projects that are similar to your project?  Have they used the technologies that are involved in your project?  And make sure you see those projects.

    Don't be swayed by big name firms or other kinds of name dropping.  I (and TechEmpower) have worked with IBM, HP, Xerox, etc.  That says something.  But it's quite different working for large firms than it is with startups.  Make sure you know exactly what the company did on each project.  And they should not get to count items in their portfolio that were done at another company/job - yes, that's quite common, especially in new firms.
  • Quality Result.  Make sure that what they produce looks and acts right.  See it in action.  Some developers just don't quite get that you need to produce a quality result.  That said, don't be fooled by things that look really cool when you need functional results.  You are looking for someone who cares about the look, but you are hiring the development firm for it's development skills not its graphic design skills.
  • Are they asking good questions?  You should be getting an estimate for the work effort before you get started.  Do not fall into the trap of Startups and a Common Misunderstanding in Agile Software Development.  To provide you an estimate, they will need to ask you a bunch of questions.  It's shocking to me that many firms will not ask questions.  They will give you a quote.  Run away.  They are either not seeing the questions that need to be asked or not interested in finding out what you really need so they can provide a reasonable estimate.

    By the way, there was somewhat a trick question above "Do you have the functionality defined?"  You may think you have it pretty well defined.  But show it to a decent set of developers and they should be able to make your head swim with all the things you've not considered. 
  • How good is the company's own site?  They shouldn't be showing you that they don't care at all about looks and content on their own site.  But if their site is really gorgeous, that means they are good at design, not necessarily development.   
  • How many full-time W2 employees do you have?  How many contractors?  Where are they located? (have you seen the offices?)  What are the skills of employees vs. contractors?
  • What's their process?  How do you know if you are on track with development?  How is testing handled?  What are the review periods?  What's my responsibility in the process?
  • Are budgets and deadlines hard or soft?  What percentage of their projects launch on-time and on-budget as compared to what they estimated up front?  How do they achieve that result?
  • How do you communicate?  Is there a project manager?  This can be both good and bad.  Some project managers get in the way of effective communication.  Have conversations with the point person and make sure you will be comfortable with them and that they will add value to the process.
  • What do they do after the web site is launched?  Do they help with transition to in-house or other developers?
  • What's the plan for hosting and support?
  • Do they have repeat or long-term clients?
  • References.  They should be willing to share references.  But you may also want to get in touch with people at companies that they have been showing you as part of the portfolio.  You can find and reach them through LinkedIn.

Problem Signals

All of the following are signals to me that there may be risks/issues:

  • Not asking questions.
  • Not asking you what your plans are for mobile.
  • Recommending Flash.
  • The firm is less than two years old.
  • The firm is smaller than 10 people.
  • The firm is completely virtual.
  • They didn't ask you some of the questions in: 32 Questions Developers Should Ask a Startup Founder.
  • They have the lowest price out of several vendors several of which come in at roughly the same higher price.
  • They believe there's no maintenance after launch.
  • They don't seem to care about you or your project.
  • You are feeling like you are being sold.

1 comment:

Rhys Fleming said...

Dear Dr. Karrer,

I recently discovering your blog whilst doing research for my masters dissertation and have found many of your post very interesting.

Particularly relevant to my work was one of your older posts titled "Remote Collaboration". I'm looking to investigate whether the use of remote collaborative platforms can be used to combat talent deficiencies within organisations (I plan to test under a case study of the current difficulties the UK video games industry is facing in finding skilled programmers).

I would love to discuss this further with you if you have the time. Please find my contact details below.

Yours sincerely,

Rhys Fleming

Email: im12rwf@my.brunel.ac.uk
Linkedin: uk.linkedin.com/in/rhysfleming88/