For years, whenever an entrepreneur asked my thoughts on outsourcing core product software engineering, my response was that I haven’t seen it work. There were too many disconnects between the startup team and the software engineering team – nuances around the actual product goals – resulting in a poor user experience and frustration during iteration while being enervating for the entrepreneur. Now, while building products in-house is most common, more startups are finding success with some or all of the core product being outsourced, especially to get started (I still think in-house software engineering is a must once the startup has traction).
Here are a few thoughts on the rise of outsourcing core product software engineering:
- Open source provides more reusable components, both for the frontend (e.g. Bootstrap) and backend (e.g. Rails)
- General collaboration tools are stronger and more widely used (e.g. Slack, Basecamp, etc.)
- Product management-specific collaboration tools are stronger (e.g. Balsamiq, Aha, etc.)
- Certain software development firms have come to specialize in building products, as opposed to most that do one-off consulting projects
- Non-technical entrepreneurs are more technical, on average, due to the more pervasive use of technology, and thus are better at communicating product needs
When entrepreneurs ask me about building their product in-house, or outsourcing it, I still recommend building it internally, but outsourcing it is much more viable, and thus deserves some attention.
What else? What are some more thoughts on outsourcing core product software engineering?