Si le logiciel doit être utilisé de manière tactique ou stratégique ou est au cœur de votre entreprise, il peut être essentiel d'avoir des programmeurs qui comprennent également l'entreprise. Ils doivent également comprendre le support et le cycle de vie et ce qu'il en coûtera à votre entreprise pour prendre en charge les systèmes après leur publication.
Je ne pense pas que le coût soit généralement un réel facteur. Si quelqu'un le prétend, il est ignorant ou ment. Si vous sous-traitez, vous payez la marge bénéficiaire de quelqu'un d'autre en plus de ses coûts. Toute économie due aux écarts géographiques sur le marché du travail est généralement rapidement compensée par une augmentation des coûts de communication et d'éducation, et les écarts de taux ne sont plus aussi importants qu'avant, car le monde en développement est appelé ainsi pour une raison.
Il existe de nombreux types de logiciels. Dans de nombreux cas, vous pouvez externaliser quelque chose et aller bien. Le problème est que cette décision doit être prise au cas par cas, et vous ne pouvez pas la résoudre dans une situation universelle.
Je suis sûr qu'il y a un million de choses à rechercher dans le processus décisionnel.
Il y aurait des cas où le développement d'un logiciel bien spécifié mais essentiel pourrait facilement être externalisé à une entreprise spécialisée dans ce type de travail - par exemple, une chose au niveau du système comme un pilote de périphérique ou un serveur Web pourrait toujours être externalisée par une entreprise qui a fait un appareil et qui voulait se spécialiser davantage sur l'expérience utilisateur que sur les blocs de construction.
D'un autre côté, si vous allez piloter ce serveur Web de manière spéciale et même si vous l'avez bien spécifié, vous allez avoir ce composant étroitement lié aux principales initiatives de développement en plusieurs phases, vous n'êtes probablement pas ' t va vouloir externaliser cela.