Pourquoi embaucheriez-vous des développeurs de logiciels en interne au lieu de les externaliser pour développer un produit pour votre entreprise? [fermé]

23

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?

Terence Ponce
la source
1
Juste pour être clair, quand vous parlez d'externalisation, voulez-vous dire juste une entreprise externe, ou comme souvent utilisée familièrement, la délocalisation (c'est-à-dire hors du pays).
GrandmasterB
Je suis presque sûr que mon professeur voulait dire les deux quand il a dit l'externalisation.
Terence Ponce
38
J'aime la façon dont vous avez externalisé votre question de devoirs: p
glasnt

Réponses:

26
  • Une équipe interne sera plus à l'écoute de vos besoins, puisqu'elle fait en réalité partie de votre entreprise, donc elle a une meilleure idée de ce que vous voulez.
  • Il est plus facile de communiquer avec une équipe interne - rien ne vaut un contact face à face régulier.
  • Votre équipe interne aura plus de connaissances spécifiques au domaine qu'une équipe externe devrait apprendre.
  • Vous investissez non seulement dans le logiciel, mais dans l'expertise nécessaire pour résoudre les types de problèmes logiciels rencontrés par votre entreprise. L'utilisation de vos propres développeurs constitue un stock de programmeurs qui ont déjà traité ces problèmes spécifiques.

(Pour les contre-arguments, voir le point de vue de Joel à ce sujet .)

Fishtoaster
la source
5
La prise de Joel dans le lien semblait être plus "pourquoi je ne voudrais pas être un développeur interne" non?
MIA
Quelque peu. L'un des points historiques était que le développement interne a également tendance à produire des logiciels de merde.
Fishtoaster
8
J'ai beaucoup d'histoires d'horreur sur les logiciels externalisés de merde, donc je ne pense pas qu'il soit possible de généraliser cette dimension particulière.
MIA
+1: tout autour. Notre entreprise dépend d'une équipe de développeurs externalisée. Je suis le premier "développeur" qu'ils ont recruté depuis 5 ans - spécifiquement pour réduire la dépendance à l'égard de l'entreprise externalisée et pour l'intégrer en interne.
IAbstract
6
90% de tous les logiciels sont nulles, et cela peut être une sous
jk.
11

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.

Cade Roux
la source
3

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
2

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.

Robert Harvey
la source
2

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.

GrandmasterB
la source
1

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.

ck01
la source
1

Parce que vous ne savez probablement pas exactement ce qui doit être construit.

rhettg
la source
1
Et quel client a jamais accepté les exigences convenues comme livrable final sans changement de portée important? Parfois, les développeurs internes peuvent se solidifier et proposer différents scénarios basés sur des exigences beaucoup moins définies, contre externalisés, ce qui arrête simplement le développement jusqu'à ce que des clarifications soient apportées (et vous avez peut-être perdu une journée entière à l'étranger).
Jé Queue
0

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.

Jimmy Kamboj
la source