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.

Tuesday, April 2, 2013

Making Sure You Are Ready to Begin Building Your MVP

I'm presenting Making Sure You Are Ready to Begin Building Your MVP next week at Coloft (Details/Registration).  I'm going to be looking at aspects like:

  • Things to consider before building your MVP
  • Features often overlooked when documenting an MVP for developers
  • Understanding important metrics you want to measure
  • Risks and challenges in developing an MVP.

It should be a fun evening with lots of interesting conversation.  This post will provide links to participants as well as to readers.

What's Going to Go Wrong

A lot of founders don't really understand Lean Startup principles.  They look at the following high level definition of Lean:

image

and they interpret that as write up an executive summary with your ideas and hand it to developers to build.  What's going to go wrong?  Well I often get the unfortunate call from startup founders where all kinds of things have gone wrong:

  • Built the Wrong Product
  • Poor Product Quality - Code is really bad, full of bugs, missing critical features
  • Doesn’t Scale Past a Couple Users
  • Not Protected – Access to Code, Rights on Code

MVP Homework

Why are you building your MVP in the first place?  See Investors, MVPs and Evidence of Traction

Have you conducted Problem, Solution and Feature Interviews with customers?

Have you Documented Your MVP for Your Developers?

Have you looked through Things You May Have Forgot in Your MVP and provided answers to these?

Do you have a Technical Advisors: Every Web/Mobile Startup Must Have One?

Don't be fooled by a Common Misunderstanding in Agile Software Development.

While You Are Building Your MVP

Look for the following Symptoms of a Weak Development Team.  Correct your course quickly.  And when you have Poor Software Developers - Pull the Plug Early.

Learn how to test and possibly use testing and load tools.  See: http://www.softwareqatest.com/qatweb1.html

Additional Resources