First things first (and smallest)
The first thing that you need to do is strip your idea into the smallest piece that you can do and for which people will pay. As mentioned, this is your minimum viable product (MVP) – the smallest piece of functional business solution that you can charge customers for and, more importantly, for which they will pay. This concept was introduced by Eric Ries in his book “The Lean Startup” as the core of the book. He believes that you should strip your idea to the absolute smallest piece that you can do and iterate from there.
Note – I have referred several times to the minimum business solution; this may not always be a pure technological solution. This may require vendor relationship setups, document or process creation, and other non-technical pieces. Here I am referring only to the technical piece.
Once you have defined the smallest piece of technology that you need for your MVP, it is now time to get it created. There are many different ways to do this – your selections will depend on your
- requirements solidity (how firm an idea you have of exactly what you want built)
While there are more criteria, these above are the most important, at least for the first iteration. Increasing amounts of each piece above give you more options – i.e., more budget means more choices.
Given that caveat, here are your main choices for how to create your technology project. Each choice has three values associated with it – time, cost, flexibility – that help to define what the best options you have are. The ranges are -,-/+,+,++,+++ in order of increasing importance – higher is better (i.e., “Time: +++” means fastest delivery, “Budget: -” means most expensive)
1) In-house development
Time: – or +++
This is the best idea for funded companies or those with the least solid requirements. The biggest drawbacks are highest costs and potentially longer time. If the team is already set up, however, this will be the fastest option – the team can change and absorb new functionality with minimum impact using Agile development. If the team is not set up, it will take a fair amount of time to set up.
2) Contractors (local)
This option reduces the overall cost and time of the project at the expense of some flexibility. The use of local contractors will still allow for effective communication, although as contractors they will be less committed to the success of the company. They will be fast, however, as a small amount of vendor-selection-time will result in the ability to hire an entire team or multiple developers quickly.
3) Contractors (remote)
Time: + or ++
This option further reduces the overall cost at the expense of even more flexibility. The use of remote contractors will introduce some issues in the communication. They will be fast but vendor selection may take more time than for local.
4) Offshore provider
Cost in the major benefit using offshore providers. The time is usually fairly good – the major time impacts come from both preparing the design and development documents against which the provider will create, and from vendor selection – this latter step is critically important.
5) On-line job boards
These offerings are among the lowest cost and (potentially) fastest available. They are different from offshore providers in that they are purely project-based – because of this, they are good at delivering on time and with low cost, but they are the least flexible.
Possible on-line job boards are odesk, fiverr, elance. Each site has a specialty – odesk specializes in virtual assistants, and elance in programmers. Researching these sites will show you the best options for what you are doing – remember that you can combine outputs from several of these providers to drive your business solution.
How about you – what luck have you had with each of these provider types? Have you had an MVP created and if so, what was the best provider that you used?
Image courtesy of Mike / flickr.com