We typically have three options for technical development of client projects.
The first is hiring an implementation partner. These are firms with considerable experience doing precisely this kind of work. They can guide you through developing use cases, developing the technology, and testing.
The second is finding a consultant (or consultants). These are usually self-employed freelancers with expertise in the technology. They overlap often with the above.
The third is to do it in-house. Your internal development team takes on the project and delivers the results.
When we guide clients through these decisions, we usually consider six factors.
These are (in rough order of priority):
1) Policies. If your company has policies against outside help, is unable to give access to community technology, or simply refuses to work with companies based outside of the home country, the decision is often made for you.
2) Capabilities. If you haven’t done much development on the platform you’re using, you’re going to need outside help. Remember too you will also need to maintain the platform. So any code written externally will need to be clean for in-house developers or future partners to work with.
3) Experience. This could better be described as ‘risk tolerance’. Implementation partners like 7Summits or Paladin can guide you through the entire process, develop the user cases, specifications, and avoid the common landmines. But this comes at a price. However, almost every company I know which did an internal development made mistakes which they would have avoided with more experience.
4) Cost. If you’re on a budget, you either need a cheaper implementation partner (i.e. Grazitti), to do the project in-house (this has costs too), or find a solo consultant who can take a very precise specification and develop as required. If your budget is below $100k, you typically need to find a consultant you can truly trust.
5) Speed. If you need this project done fast you typically need outside help who can begin immediately. However, be aware that in larger organisations it can take weeks, even months, to onboard a new vendor. Check this before using outside help if you’re on a tight schedule. The problem with internal development, however, is getting engineering resources. You might be waiting for weeks, even months, for your project to become a priority.
6) Time. Development projects require about 3x more of your time than you imagine. A terrific project manager will help cajole everyone to deliver on their tasks. But the larger the project, the more of your time it will take. Larger implementation firms often supply their own project managers which can save time.
Selecting the right approach to developing your community experience (or doing future development) is one of the most critical decisions you will make. Select the wrong person(s) and you will spend years trying to fix their mistakes.