Good question; it seems pretty similar to feature development.
Can be outsourced: “make this button hidden on mobile.”
Hard to outsource: “investigate reports of sporadic data loss.”
I think the reason the second one is hard to outsource is general problem.
(E.g. how you would verify that the outsourced firm investigated it correctly? Verifying that they actually fixed this hard to debug issue is often almost as complicated as just fixing it yourself. So you basically have to trust that the firm did it correctly, and getting an engineer who you trust to fix these problems is basically what it means to hire and onboard an engineer.)
Regarding software projects specifically: Why not outsource fixing bugs rather than product development?
Good question; it seems pretty similar to feature development.
Can be outsourced: “make this button hidden on mobile.”
Hard to outsource: “investigate reports of sporadic data loss.”
I think the reason the second one is hard to outsource is general problem.
(E.g. how you would verify that the outsourced firm investigated it correctly? Verifying that they actually fixed this hard to debug issue is often almost as complicated as just fixing it yourself. So you basically have to trust that the firm did it correctly, and getting an engineer who you trust to fix these problems is basically what it means to hire and onboard an engineer.)