+ If the project is not fully formalized, it is more profitable to negotiate a fixed price with the contractor and close your risks. In general it is not necessary to get carried away - it is possible to burn the contractor and in general it is better to do analytics.
+ If the project is T&M, but the code is a terrible Legacy, you can save your guys from burning out by giving such a project outside.
+ The same concerns the situation when you have one team for two projects - interesting and common. We leave the interesting one inside and increase motivation.
- It's very bad with NDA. Despite the signing, there is no control over the people in the contractor, which entails risks of disclosure. If you give work to serious clients, we give a minimum of information.
- It's a complicated quality control situation. We give our contractors our quality regulations, bitbucket regulations and so on, but compliance with these regulations is much harder than inside.