As I make my way through the wringer on matching up with the right technical co-founder - I am inclined to invest in a decent dev shop to build out the prototype or MVP for my startup. The further I get through the process, the less this seems like a good option. What are your thoughts? Guide me!
It is an effective and cost efficient way to get things started. The caveat is that you have to be excellent at product requirements and definition. You also need to be selective about the shop(s) and perhaps think about carving up the work to prevent anyone place from having all your IP. You should also be clear in your mind what are "core competencies" you need to have in house when you are able, and make sure that you have a plan to bring them in.
My take is that if you outsource the tech, from day one, you are not really a tech company, so what is it really that you bring to the table?
Not to mention risking your IP from day one, before you even had a chance to build your prototype, let alone your MVP, doesn't seem like the best idea.
If your core value is in the idea or business model you can do that. But if the core value of your business is the technology you have, it is not good idea outsourcing that value. That will be an obstacle when getting investment. Also you will not have control on your IP. If that is the case, I recommend you to hire that guy as cofounder.
Dealing with early entry startups, I get this question on a weekly basis. Using a team is not a bad idea if you have the resources to do so. Its certainly best if you have someone with a vested interest in the company (who is highly technical) managing the process.
As a non technical you will not have a way to evaluate the performance or manage the dev shop. You will not be able to weigh the impact of the tech decisions on your business. Are they under optimizing, or breaking your bank charging you to over optimize? What is the scalabilty of the code base, the long term implications of the technical decisions? Are they building something from scratch when they should be using open source?
Your perfect, late joining cofounder might turn down the opportunity based on having to deal with past tech decisions, and bad debt that he is not comfortable with. A shop should enhance your team but it cannot replace it, not even at the start. I have turned down many great opportunities based on the inconvenience of dealing with a certain stack for a certain job. Or they use bad services where they don't even own the tech. The point is non technicals don't make very good technical decisions. You shouldn't cant trust an agency or anyone who doesn't have a long term interest in your company succeeding.
If you cannot find the "ideal" match before starting development, find someone willing to manage for 3-6 months, offer them what they say they need for that time frame and move from there based on how you work together.
To build a software product is a very large hurdle to cross and many startups simply fail at the product development stage. Especially if the founding team does not have a strong technical co-founder.
Much has to be developed, in addition to the specific business problem related code:
User and role security
Dashboard and reporting capability
Workflow and task capability
Integration to documents and files capability
Business Intelligence capability
Multi-tenancy if SaaS solution
Development and test environments
Localization and internationalization
Data and sign-on Integration to other systems
Many questions need to be answered:
What database to use
What language to use
Where to host
How to find developers for the technology
How to own the technology and not be locked-in
What are costs and reliability of the above choices
Most individual developers will simply wait for you to direct them as to what needs to be built. You are best served by finding a company that is focused on startups, can guide you, provides a lot of pre-built tools, has a comprehensive ability to assist you in getting off the ground.
Happy to answer further questions via PM.
Generally, a firm will do a much better job than one person. Teams outperform individuals - especially in today's world of specialization. Plus you get management, reference designs and process.
When picking a firm, make sure they only work for startups. Firms that work for larger organization are not likely to be a good fit for you.
If your non technical, then hire one firm to do the work, and another to guide you in working with them. Make sure you tell the firm guiding you that they will never get to do the work - otherwise they just throw the working group under the bus to get the work for themselves.
So you have a "Gone With the Wind" in your head and you can not get it out to your audience, the programmer. Your out of luck with either an individual or a firm. They can not help you take what is in your head and put it out for them to see.
Remember that a firm goal is to GET PAID. Your goal comes after this one goal. They will do everything from the perspective of getting paid. You will pay for them working on getting paid in stead of your goal. If you can not separate the cost of them working on there goal from working on your goal and then telling them you are not going to pay for their goals. You will need a lot of money.
Individuals may not know what they are doing so you will be paying for them to learn if they are even capable of learning or have a strong enough foundation to keep the learning short. And even firms will have a learning curve and a coordination cost that you will pay for.
So how long does it take to get that novel our of your head? My round figure is 6 months. I am saying this because my career was project where no background existed or working for a group that no one with my back ground had before. It took 6 months to understand what the customer actually wanted from the experts that thought they understood the customer but did not understand how the customer related to the things I needed to consider.
You not being a programmer have two choices to deal with this problem. Pay for the programmers to pull the information our of your head or learn what is important to the programmers so you have some idea what is important to them. Then your give them more valuable information in general. Obviously you need to know what the customer actually wants. I have found that the experts, you, sometime only knows what the customer want from their narrow field of expertise.
I disargee with other respondents' IP concerns. This can be alleviated with proper NDAs, and there are standard forms for this on Docracy. I've escorted dozens of sole entrepreneurs through this, and can attest that outsourcing MVP development can work.
Success depends on several factors:
1. You should have a very clear understanding of what you need built. Usually, mocking up the wireframes and writing a short spec that specifies the processes users go through in the system is a crucial first step. If you can't do this yourself, the developer or team you work with will have to be experienced with doing this for entrepreneurs, but I definitely do recommend you try to do this yourself.
2. The developer or firm you work with should issue a detailed estimation and timeline, so that you'll have a clear view of what's going to happen. This will allow you to change course during development if you feel the work isn't progressing in the right pace or if you need to change the requirements once you start to see your vision realized in code.
3. You should make sure that you'll have the ability to track the work on a weekly basis, or sit with the developer in the same room. This means you know at any given point in time how many hours were already spent, and how many features are done. This will allow you to control the level of fine tuning of the implementation of the design and UX, as well as skip features when you fear the system might not be ready before your money runs out.
4. If you're burning your own money, you should have a very very clear vision of how you intend to progress once the MVP is ready. Remember that an MVP is not a finished product, and there's a limit to how much you can monetize a product at that level of maturity.
If you need any further advise, feel free to DM me.
If you don't need VC funding, it may be OK. Otherwise, don't do it. VCs will invest only if you bring rock star technical talent that believes in you and your idea.
if you are creating a patent or new technology, like a new space rocket, then for sure you need a technical wizard at your side.
otherwise, even if you are a tech-based startup, you should use outsourcing for mvp and early stages. unless you already have a technical wizard as a co-founder, using outsourcing is a great idea.
it's cheaper and quicker, in creating the mvp. this will also allow you to experience and fine tune the product/service at it's early phase.
it will get your startup to a point that will allow you to have a product you can sell, and start showing revenue to potential investors. and that's what important, the tech behind the business is nice, but the business will bring you the investors' money. after you get their money, you put that on making the tech better. bringing in technical experts on salary, or even outsourcing to a larger/better development firm.