As mentioned in my first post, OPD (Outsourced Product Engineering) has been around for decades. However there still exist so many individuals in an ISV who:
All points (and similar) mentioned above sound like "why would one not outsource" and there can be many more reasons which can be added to the list above.
Now, let's look at specific challenges which push individuals to outsource product engineering:
If a product needs to be released in 6 months’ time, development of a product is broken into multiple work packets or activities. To execute these activities you may require specific hardware, which, if purchased, might be over budget. Solution: explore the option of leasing a hardware (physical or in cloud) which translates into engaging an outsourced vendor.
Similarly, to build a RESTful API or vCenter plugin or any specialized component(s) requires skilled workers and that too for a smaller duration. Hiring a set of FTEs to build such components will be an overhead (once the component is built). Such scenarios would require engaging with a specialized engineering partner who will build quality component to release the product on time.
If you look at different phases across PDLC, there are multiple areas where a product engineering partner / vendor adds value.
Following is a brief list of reasons why individuals of companies outsource product engineering:
I'm sure you noticed that I am referring to individuals of company in reference to outsourcing. At the end of the day it depends on set of individuals who take the call "whether to outsource product engineering or not". On the other hand there are set of individuals who engage with ISVs and deliver quality products/components.