What attributes are important to you?
- Timezone. Do you want someone local, anywhere in the world, or within a certain range of timezones, such as anywhere in the Americas?
- Size of company. Some people only want to hire freelancers, others only want companies, and some are okay with either.
- Does the company/consultant support your mission?
- What kind of clients has the company/consultant worked with?
- Experience level with Drupal. The consensus in the group seemed to be that someone who only claims to be experienced with PHP/MySQL is not the same as someone who is experienced with Drupal. You need someone who knows Drupal, which modules are appropriate for certain goals, what are ways to do things, etc. There’s a huge learning curve because not everything is well documented.
- Diversity of skill sets. Your project will need skills in programming, theming, CSS, etc. Ideally you’ll have all of these skills well represented in the company/consultant, but if not you’ll need to bring in other resources.
- How experienced is the company/consultant with your sector? Are they flexible enough to adapt to your culture or are they focused solely on a particular sector?
- How involved is the company/consultant in the Drupal community?
- Does the company/consultant use version control (e.g. subversion)?
- Does the company/consultant use best practices, such as having separate development (test) and production (live) sites?
- How does the company/consultant handle project management?
- How will they structure milestones?
- What kind of development approach is used (e.g. agile or waterfall)?
What belongs in your RFP?
- Keep it short: definitely no more than ten pages, but preferably much shorter. If it does need to be long make sure to include a summary page with key details.
- Project timeline
- Project budget
- Be clear about your requirements.
- Selection process. How will it work? When will candidates hear back from you and when will you make a final selection?
Best RFP practices
- Have someone who’s more experienced — preferably someone who has consulting experience — review your RFP to make sure it will make sense to a company/consultant.
- If you’ve narrowed your list down to 2-3 companies, you could pay them for a few hours of time to write a more detailed proposal. You’ll get good information about the quality of their work and they’ll respect the fact that you value their time.
- Also, consider whether you can structure your project in such a way that you can have discrete chunks of work. You can then hire one (or more) companies to work on the first chunk, and depending on the results continue working with them for the next phase, or hire someone else. This reduces the commitment you’re making until you know that they do good work and are a good match for your project.
How to find a consultant?
Review proposals
- Create a matrix to rate each of the candidates according to the criteria that are important to you. This will force you to examine each of the proposals — and talk to the people — to find out whether the criteria are actually being met.
- Which people at the company will you actually work with once the project starts?
- Think of the whole process as being about building a relationship. Is the candidate/company someone you can talk to easily (this gets trickier if you’re talking only to a salesperson).
- How will you work together and which collaborative tools will you use? In-person meetings, phone calls, e-mail, IM, Skype, basecamp, etc?
- If they say they’re going to write lots of code for you that’s a big red flag!
- Check references.