Now that we you may have figured out from my last post, ‘why to outsource’, we could now see what it is that we can or should outsource. One who understands details of product development cycle (initiation to sunset) is better placed to identify what to outsource. Identify gaps which need to be plugged in by a partner/vendor. As the phrase goes ‘Partner with your weaknesses’; these gaps need to be filled in by the chosen vendor. While choosing a vendor, map their strengths against your weaknesses. Finding a perfect match will be a challenge that said; the match should be closer to 85% of your requirements.
Once finalized, it may take some time to assess a vendor/ partner. Very similar to a scenario where you just started dating, and to know them better you may watch a comedy or a drama movie (playing safe) together. Outsourcing "Adhoc testing" or "functionality testing" may be playing safe to gauge your vendor (e.g. quality of bugs and test cases). However, some individuals (even first timers) outsource a complex project (non-critical) to assess vendor's strength or weakness.
Maturity and experience (past or none) also drives one to identify what to outsource. I have come across product engineering managers who have outsourced:
- Market requirement document and / or Product requirement document
- Proof of concept to verify feasibility
- Components across the technology stack (Web interface, Mobile interface, GUI, Business Logic, Middleware, Device driver, etc.)
- Components across development life cycle (design, development, testing, porting, sustenance)
- Entire product engineering (end-to-end)
In my experience, major quantity of work outsourced (across the industry) is - component of products (e.g. #3, and #4 above). Have come across a unique situation where one vendor does development and the other vendors drive testing and triaging. It's similar to a situation wherein, a product company internally is developing a product and the vendor has ownership of testing (or in some cases even triaging). In cases where triaging is also driven by vendor, it's an example of deep level partnership (than just a vendor).