Если программное обеспечение будет использоваться тактически или стратегически или является ключевым для вашего бизнеса, то наличие программистов, которые также понимают бизнес, может быть ключевым. Они также должны понимать, что такое поддержка и жизненный цикл, а также что будет стоить вашей компании поддержка систем после выпуска.
Я не думаю, что стоимость, как правило, является реальным фактором. Если кто-то утверждает, что это так, он не знает или лжет. Если вы производите аутсорсинг, вы платите чужую прибыль сверх их затрат. Любая экономия из-за географических различий на рынке труда, как правило, быстро компенсируется повышением стоимости связи и образования, а различия в ставках не так велики, как раньше, поскольку развивающиеся страны называют это не без причины.
Есть много видов программного обеспечения. Во многих случаях вы можете сделать что-то на стороне и быть в порядке. Проблема заключается в том, что это решение должно приниматься в каждом конкретном случае, и вы не можете решить его в единой ситуации.
Я уверен, что есть миллион вещей, которые нужно искать в процессе принятия решений.
В некоторых случаях разработка хорошо определенного, но все же основного программного обеспечения может быть легко передана на аутсорсинг компании, которая специализируется на такой работе - например, такая вещь на системном уровне, как драйвер устройства или веб-сервер, все еще может быть отдана на аутсорсинг компания, которая сделала прибор и хотела специализироваться на пользовательском опыте больше, чем на стандартных блоках.
С другой стороны, если вы собираетесь управлять этим веб-сервером особым образом, и, хотя у вас он четко определен, этот компонент будет тесно связан с крупными инициативами многоэтапного развития, вы, вероятно, не ' не хочу отдавать это на аутсорсинг.