If coding/ development is not your core competitive advantage or the driver of your business you’ve no resource capabilities and time for that, then you better outsource it to some good firm, specialized in serving start ups.
However if the technology is fairly off-the-shelf development, say wordpress customization or a standard shopping cart application, then it might make sense to outsource it to a firm which specializes in that area.
But being a start up, do a lot of scrutiny and analysis of the company you are going to work with, remember outsourcing is not a simple customer-vendor relationship, it is more of a partnership, and an engagement which is based on mutual trust, needs understanding, and team approach.
Also it depends on the startups expertise in managing outsourced projects. If it’s something you’ve never done before then it can be much harder to do it well.
But make sure that you are pretty clear with your specific project as well as business requirements before you outsource, and ask as many questions as you can if you are new to this; for example ask questions and details about proposed project management and planning to the payment modes, to the payment mediums, or calls/ meeting schedules and so on. The more clearly you share your expectations beforehand with your potential vendors, the more likely you win with a successful outsourcing campaign, and then you can reuse that.
Astartup is based on the vision of the founder(s). Success of this vision depends on how clearly the founder(s) is/are able to articulate his/her/their vision to the team including the developers. Having a development team in-house constantly absorbing the founder(s)’ vision, and possibly even providing feedback to the founder(s), is invaluable.
Initially it may seem like a good idea because of the money saved on benefits that would normally be paid for a full time employee but if your startup will be doing any amount of coding, it’s not wise to outsource this function.
But, if you’re truly seeking the commitment of a team member, then outsourcing may not be the right step for your start up.
Startup should outsource if:
- you don’t have any in-house talent in the first place and have found the ideal outsourcing partner: one you can trust like a member of your team. one that can scope your project and meet your vision. has a track record of delivering on time/on budget, can bootstrap an in-house team for future iterations..
- you are in a hurry (it takes time to build a team)
- you don’t want/can’t commit to the long term cost of an in-house team too early or your product once built won’t require the same level of talent to maintain
- you own the code/IP outsourced and can bring it in-house at any time
- your tech lead is used to dealing with outsource partners
Startup should hire if:
- you have a tech lead that already knows how to build software in-house (processes, environments, etc…) and is good at finding top engineering talent
- you have the money and time to hire and equip the team
- your product is going to grow in complexity and will require long term in-depth expertise that is hard to pick up
- your vision of the product and its purpose are not settled (ie. you need a lot of prototyping)
- your startup is all about software