I cannot identify any clearly outsource able piece. Can I still effectively outsource product development?
  If using outsourced product development is a strategic priority but there is no identifiable piece that can be outsourced, consider starting with remote team augmentation. Ask your outsourcing partner if they can dedicate team members to support development of specific portions of the code or work on an independent module. Ensure that the outsourcing partner team dedicated for your work is managed by a team lead that is responsible for administrative management, so deadlines are met promptly. Once couple of successful projects are under the belt in this staff augmentation mode, the outsourcing arrangement can evolve to a hybrid approach. Some finite work could be outsourced to a team which has been working on your projects for a while, whereas any additional work could be executed in the staff augmentation mode. Such a hybrid model will give you the confidence in the outsourcing relationship to ensure a seamless transition. Yet another successful approach is to start small with maintenance oriented activities. As you build better communication and trust with your outsourcing partner, specific project opportunities will present themselves.