Pourquoi embaucheriez-vous en interne plutôt que sous-traitance pour développer un produit pour votre entreprise? Je ne peux que penser à quelques-uns, mais je ne suis pas tout à fait sûr s'ils sont une raison suffisante.
C'est en fait pour un débat que je vais avoir en classe. Je suis plus enclin à l'externalisation mais malheureusement, on m'a demandé de passer du côté interne du débat.
Des idées?
hiring
outsourcing
Terence Ponce
la source
la source
Réponses:
(Pour les contre-arguments, voir le point de vue de Joel à ce sujet .)
la source
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.
la source
C'est une réponse tardive, mais le plus général "pourquoi une entreprise embaucherait-elle dans la maison X plutôt que d'externaliser?" - en d'autres termes, pourquoi les entreprises existent-elles, plutôt qu'un seul PDG qui sous-traite tout? - est appelé "la théorie de l'entreprise"
http://en.wikipedia.org/wiki/Theory_of_the_firm
et il y a beaucoup de preuves et d'études pour diverses raisons, et beaucoup de connaissances sur le moment où il est judicieux d'externaliser par rapport à "en source" divers éléments de travail et de capital.
la source
L'une des raisons de le faire en interne est que vous utilisez une technologie de cryptage des données qui ne peut pas être exportée vers certains pays.
On peut soutenir que le logiciel peut être fait plus rapidement, à une qualité supérieure et répondre mieux aux attentes du client lorsqu'une petite équipe locale de développeurs est utilisée et peut communiquer en face à face à l'aide d'un modèle itératif.
Le modèle itératif est sans doute moins efficace avec l'externalisation; l'externalisation nécessite plus de travail de développement des exigences, en utilisant BDUF (big design up-front).
Si l'application est volumineuse et que des parties du contenu banal peuvent être divisées en petites bibliothèques bien définies, l'externalisation peut être utile pour produire ces pièces.
la source
L'externalisation (localement) est logique si l'entreprise n'a pas les ressources pour faire le développement ou le savoir-faire pour démarrer. Par exemple, une entreprise de chaussures qui souhaite créer une application Android. Il ne sert à rien de faire cela en interne. S'il s'agit d'une société de logiciels, l'externalisation d'un projet n'a pas beaucoup de sens, bien que certaines lacunes puissent être comblées par des entrepreneurs externes.
Il existe une autre forme d'externalisation ... l'achat d'entreprises pour obtenir et renommer leurs produits. En d'autres termes, une grande entreprise recherchera un produit existant, l'achètera et le renommera en tant que propre. L'effet net de cela est essentiellement le même que l'externalisation.
Pour la délocalisation, ce n'est pas toujours la bonne décision financière que les gestionnaires voudraient que vous pensiez. Il y a trop de connaissances de domaine (connaissances de l'industrie) requises dans la plupart des développements qui ne peuvent tout simplement pas être `` achetées '' comme ça, et il est extrêmement difficile d'obtenir une équipe distante pour reproduire cela avec seulement une spécification pour les guider.
la source
Nous n'avons qu'une petite équipe interne et nous n'avons utilisé que de petites équipes externes, mais le logiciel produit en interne a toujours été bien meilleur que le logiciel écrit en externe.
En interne, nous utilisons des modèles documentés, une logique de couche métier appropriée (pas seulement des classes qui appellent d'autres méthodes dans la couche de données en renvoyant un DataTable sans logique réelle n'importe où), et nous avons une bibliothèque de code que nous pouvons réutiliser à partir d'autres applications qui s'inscrivent dans notre domaine.
la source
Parce que vous ne savez probablement pas exactement ce qui doit être construit.
la source
Cela dépend de divers facteurs:
Si vous développez un produit logiciel; Évidemment, vous devez avoir des plans secrets, de la confidentialité, de nouvelles idées, etc. qui lui sont associés, ce qui le rend plus sensible à préférer faire en interne plutôt que d'externaliser vos besoins de développement logiciel.
D'un autre côté, si vous avez un budget serré ou si vous souhaitez vous concentrer davantage sur les activités de vente et de marketing plutôt que sur le développement hardcore ou si vous avez plus de flux de travail que votre équipe actuelle ne peut en gérer; vous pouvez opter pour l'externalisation du développement logiciel.
Donc, tout dépend de vos préférences; les deux options ont leurs propres avantages et inconvénients. Si je dois développer un site Web simple, je préférerai engager une société de développement de sites Web pour l'externaliser et si je dois faire un produit logiciel comme CRM ou un ERP, je préférerai le faire en interne.
la source