Question:
Quand une entreprise devrait-elle embaucher des développeurs plutôt que les sous-traiter?
user3486308
2020-02-14 16:08:40 UTC
view on stackexchange narkive permalink

J'essaie de créer une application Web et mobile. Mais je suis confus entre l'embauche de développeurs ou simplement l'externalisation du projet.

Certaines personnes disent qu'il est préférable d'externaliser votre projet, mais lorsque je recherche d'autres entreprises comme Facebook par exemple, elles ont des centaines de développeurs. Pourquoi n'ont-ils pas externalisé leur projet?

Quel est le facteur clé qui permet de mieux externaliser un projet au lieu d'embaucher des développeurs?

Huit réponses:
DeepDeadpool
2020-02-15 03:31:22 UTC
view on stackexchange narkive permalink

Si c'est une fonction commerciale essentielle, faites-le vous-même, quoi qu'il arrive.

Il y a un merveilleux essai écrit par Joel Spolsky intitulé In Defense of Not Invented Here Syndrome. Je vais en citer quelques-uns ici.

En effet, lors de la récente manie dotcom, un groupe de rédacteurs charlatans a suggéré que l'entreprise du futur serait totalement virtuelle - juste un couple branché sirotant du Chardonnay dans leur salon sous-traite tout. Ce que ces «visionnaires» hyperventilants ont oublié, c'est que le marché paie pour la valeur ajoutée. Deux yuppies dans un salon achetant un moteur de commerce électronique à la société A et vendant des marchandises fabriquées par la société B et entreposées et expédiées par la société C, avec le service client de la société D, n’ajoutent pas vraiment de valeur. En fait, si vous avez déjà dû externaliser une fonction commerciale critique, vous vous rendez compte que l'externalisation est un enfer.

Et il semble que votre site Web soit entièrement basé sur l'introduction de nouvelles des fonctionnalités que personne d'autre n'a. Si vous voulez bien faire cela, alors vous le faites en interne.

  • Imaginez que Nintendo sous-traite le code et le développement de son jeu.
  • Est-ce qu'Apple externaliserait un jour leur conception révolutionnaire?
  • Ou Renaissance Technologies sous-traitant les mathématiques secrètes du fonds Medallion?
  • Salesforce pourrait-il être la centrale électrique qu'il est s'il externalisait ses équipes marketing et commerciales? Facebook serait-il aussi emblématique s'il externalisait sa conception?
  • Imaginez Tesla sous-traitant la production de ses batteries. Oh, attendez, ils l'ont fait à court terme, et ça ne va pas bien, et ils essaient de le faire en interne.
  • Et jamais, en aucun cas, externaliser le service client. Pour vos clients, ils sont vous.

Et ces principes et exemples ont un sens intuitivement. Si un entrepreneur pouvait vendre la vision et la direction d'Apple, ou les technologies évolutives de Google, ou les relations publiques de Salesforce, eh bien, cet entrepreneur gagnerait plus d'argent simplement en étant sa propre entreprise.

Mais DDP cela semble difficile et cher.

Créer une entreprise prospère est difficile et TANSTAAFL. C'est pourquoi je ne le fais pas.

Je modifierai cette réponse pour ajouter un point.

L'externalisation peut être une bonne mesure à court terme, mais tous les aspects généraux de votre l'expérience client qui dépend de la main-d'œuvre externalisée doit être considérée comme des faiblesses qui doivent être traitées avec des niveaux de priorité appropriés. Voici quelques exemples où il est probablement acceptable de faire confiance à une tierce partie.

  • Vos développeurs ont-ils du retard et doivent-ils se concentrer sur les fonctionnalités? N'hésitez pas à embaucher des testeurs pour quelques semaines.
  • Besoin de modèles de chemises pour votre boutique en ligne dans les 2 prochaines semaines et le gars précédent a démissionné? Engagez un concepteur et tenez la main avec lui afin que vous soyez satisfait du nouvel inventaire.
  • Votre réceptionniste de bureau et votre administration feraient mieux de recruter directement, mais n'hésitez pas à sous-traiter les services de nettoyage des bureaux.
Je suis venu ici à la recherche de cette réponse, heureux de la voir.+1
Excellente réponse dans l'ensemble.Je ne suis tout simplement pas d'accord avec la règle absolue concernant le service client.Par exemple, si vous êtes Hertz et que vous avez besoin de remorquer la voiture de quelqu'un du milieu de la vallée de la mort, il est préférable que vous engagiez quelqu'un du coin pour le faire.Il en va de même pour les entreprises mondiales qui ont besoin d'un service client 24h / 24 et 7j / 7 et qui ont besoin de personnes parlant couramment trois à quatre langues.Parfois, cela vaut la peine de louer ce centre d'appels au Luxembourg pour un support de premier niveau au lieu d'essayer de tout faire vous-même dans votre propre pays.
Le premier exemple n'est pas très robuste;Par exemple, la majorité des jeux Nintendo Switch sont créés par des développeurs tiers, et non en interne chez Nintendo (et c'est généralement la pratique de l'industrie pour tout autre fabricant de matériel).En regardant une [liste des 30 meilleurs jeux vidéo Nintendo Switch les plus vendus] (https://en.wikipedia.org/wiki/List_of_best-selling_Nintendo_Switch_video_games), seuls 11 des 30 jeux vidéo sont fabriqués en interne sur Nintendo EPD, dont 19 sur30 par des développeurs tiers.
Dans notre entreprise, non seulement notre codage est fait en interne, mais nous essayons également de ne pas utiliser de bibliothèques tierces.Nous ne sommes pas des vendeurs de hot-dogs;nous savons ce que contient notre produit.
@DanielR.Collins "Leurs jeux" signifie exactement cela - leurs jeux.Zelda, Mario ... Il y a quelques exemples dont je suis sûr qu'ils ont sous-traité, mais dans l'ensemble, leurs affaires sont personnalisées.
DeepDP: Le point de la RDC est juste.La distinction que vous faites semble plutôt arbitraire.Mais même dans ce cas, Nintendo avait une quantité notable de produits sous-traités lorsque leur nom était le plus important - Tetris NES et Gameboy carts (conception initiale non de Nintendo), Pokémon (par Game Freak), de nombreux titres de RARE (comme RC ProAm), Donkey KongCountry (initialement RARE, puis Retro Studios), quelques jeux Zelda (Oracle of Seasons, Oracle of Ages, Four Swords et The Minish Cap, de Capcom), Starfox (programmé par Argonaut), Super Mario RPG (Square), Metroid Prime: Trilogy (par Retro Studios)
@EvilSnack alors vous perdez votre temps à réinventer les roues au lieu de vous concentrer uniquement sur ce qui rend votre produit unique?J'espère que tu as beaucoup d'argent à brûler
@TOOGAM Il ne faut pas oublier que la Sony PlayStation est née de la tentative de Nintendo d'externaliser une console CD.
@user11153 Nous réinventons les roues parce que les roues existantes ne roulent pas comme nous le souhaitons, ou parce que leur documentation est si pauvre qu'il faut moins de temps pour coder notre propre solution que pour comprendre l'API de la bibliothèque.
@EvilSnack assez juste, vous ne devriez utiliser les meilleures bibliothèques que si vous en utilisez
@EvilSnack «certaines bibliothèques ne font pas ce que nous voulons» est loin de «nous essayons de ne pas utiliser de bibliothèques tierces».Je ne peux pas imaginer à quel point le travail de développement de mon entreprise serait plus lent sans construire au sommet d'une montagne de logiciels libres.Nous ne pourrions pas fonctionner, le domaine que nous couvrons est trop grand.
BigMadAndy
2020-02-14 16:28:05 UTC
view on stackexchange narkive permalink

Il s'agit principalement de la stabilité / durée de vos besoins. Si vous savez que vous aurez besoin d'une personne à temps plein pour travailler pour vous au cours des prochaines années, il est souvent judicieux d'en embaucher une. En employant quelqu'un directement, votre coût initial est plus élevé. Cela comprend l'intégration, la fourniture de ressources à la personne, comme un ordinateur portable, etc. Mais le coût est payant lorsque la personne devient productive. Vous avez un spécialiste à bord et vous le contrôlez.

Si la quantité de travail doit varier considérablement, par exemple vous avez juste besoin de quelqu'un pour un projet de 4 mois, il est souvent logique de l'externaliser depuis vous êtes plus flexible. Si cela est fait correctement, les coûts initiaux seront inférieurs. Vous ne payez que pour ce que vous obtenez.

Cependant, il est difficile de répondre à votre question sur la sous-traitance de l'emploi d'une manière générale car il y a des facteurs supplémentaires à prendre en compte. Celles-ci incluent la disponibilité et le coût de la main-d'œuvre dans votre région, la législation du travail (par exemple, est-il possible d'employer quelqu'un pour juste une journée / semaine?) Et également de quel type d'externalisation vous parlez. Par exemple, en Europe, de nombreuses entreprises sous-traitent actuellement dans les pays asiatiques. Bien que cela fonctionne dans certains cas, cela a souvent également un impact sur la qualité en raison des différences culturelles et des problèmes de coordination.

Mon problème est exactement celui-ci: "Il s'agit en grande partie de la stabilité / durée de vos besoins.", Je n'ai aucune expérience ni idée des besoins de développement d'un projet après son lancement réussi.
* Je n'ai aucune expérience et idée des besoins de développement du projet après son lancement réussi * alors je pense que vous vous posez la mauvaise question, car comprendre ces besoins est d'un ordre de grandeur plus important que de décider de la structure d'emploi de votre personnel.
@dwizum: Comment puis-je trouver la réponse à ces questions?
@user3486308 - Vraisemblablement, _quelqu'un_ vous demande de faire ce projet.Si tel est le cas, vous devez vous adresser à eux et leur demander ces réponses.Qui seront vos utilisateurs?Que vont-ils devoir être en mesure de faire?Aurez-vous besoin d'ajouter plus de fonctionnalités à l'avenir, ou s'agit-il d'un projet à court terme qui sera désactivé après qu'il ne soit plus utile (comme une application pour exécuter un événement spécifique, cela ne sert à rien par la suite)?Si vous êtes celui qui a l'idée, vous devez plutôt vous poser ces questions.
@Bobson: Je suis propriétaire de l'idée et j'aime même être le chef de projet de ce projet mais c'est mon premier projet et je n'ai aucune idée de ce qui va se passer et des exigences (je veux dire des corrections de bugs, l'optimisation du code, des choses SEO, etc.)serait nécessaire à l’avenir.Mais j'ai ma feuille de route pour les années à venir et je sais à quoi ressembleraient les prochaines versions du projet et c'est la première phase!Mais la chose a causé ma confusion était une autre entreprise avec un travail similaire dans notre pays qui externalisait leur projet, et je suis devenu méfiant à leur sujet car c'est une grande et riche entreprise.
@user3486308: Une grande entreprise peut se permettre de traiter le projet comme un supplément facultatif lors du démarrage, et si elles embauchent des entrepreneurs peuvent tout mettre au rebut très rapidement, pas de coûts inutiles de licenciements ou de kit informatique inutilisé.Même pour eux, le calcul est difficile.Par exemple, s'il devient un produit à succès pour eux, ils peuvent regretter les conditions de la relation avec les sous-traitants et devoir payer les coûts pour apporter le contrôle / développement en interne.En tant que grande entreprise, ils peuvent prendre ce risque et payer plus tard si cela en vaut la peine
dan.m was user2321368
2020-02-14 21:36:42 UTC
view on stackexchange narkive permalink

Dans certains commentaires, l'OP a déclaré que

Je n'ai aucune expérience ni idée des besoins de développement du projet après son lancement réussi.

et

c'est ma première expérience et je ne sais pas qu'une telle application de site Web aura besoin des exigences à l'avenir (après son lancement avec succès)

Comme première entrepreneur , vous pourriez penser que vous avez fini de créer un site Web et que vous commencez à collecter de l’argent. Ce n'est pas comme ça que ça marche. Sauf pour certaines occasions très spéciales (lorsque spécifiquement le site Web a une durée de vie limitée liée à autre chose - comme le lancement d'un nouveau produit, un compte à rebours vers un événement spécifique, etc.), vous n'avez jamais fini de créer un site Web.

Chaque jour, vous devrez modifier quelque chose, corriger un bogue, ajouter une nouvelle fonctionnalité, etc., donc à moins que vous ne soyez prêt à avoir un engagement permanent avec l'entreprise d'externalisation, au minimum, vous vous devez disposer des talents internes suffisants pour prendre en charge le projet une fois que l'entreprise d'externalisation vous a livré la version initiale.

O. Jones
2020-02-14 20:44:11 UTC
view on stackexchange narkive permalink

De quelqu'un qui a fait les deux:

Ne sous-traitez pas pour économiser de l'argent. Faites-le parce que vous avez besoin de plus de talents que vous ne pouvez en trouver dans votre propre région.

L'externalisation nécessite une clarté remarquable sur ce que vous voulez, et elle nécessite de communiquer cette vision claire, par des documents, des exposés, des explications.

Si vous sous-traitez, vous avez besoin d'un chef de produit solide pour rester en contact permanent avec votre équipe de développement. En langage Agile, vous avez besoin d'une mêlée quotidienne, et le propriétaire du produit doit participer (conférence téléphonique, skype) à peu près tous les jours pendant la première année ou alors vous travaillez avec vos sous-traitants.

Vous devriez planifier rendre visite à vos entrepreneurs au moins une fois la première année, c'est facile s'ils sont un atelier de travail dans la ville voisine, et difficile s'ils sont en Asie. Mais vous devez le faire, pour obtenir un produit de bonne qualité.

Vous faites un bon point, l'externalisation a parfois du sens si les ressources humaines ne sont pas disponibles localement.
Kilisi
2020-02-14 16:13:28 UTC
view on stackexchange narkive permalink

L'externalisation vous donne moins de contrôle et encore moins de connaissances sur les gens en général.

Le gros avantage est le coût et si vous n'avez pas assez de travail en cours pour garder les développeurs à plein temps productifs.

Ainsi, plus l'entreprise et la gamme de produits sont grandes, plus il est logique de faire en interne.

Des éléments comme la sécurité des produits ou des informations sont également des facteurs. Remettre votre produit à des inconnus est un acte de foi. S'il recueille des informations sur les clients ou quelque chose du genre, il est également préférable de le faire en interne.

Robin Bennett
2020-02-14 20:39:20 UTC
view on stackexchange narkive permalink

Je dirais que sous-traiter uniquement si vous avez une définition très claire de ce que vous voulez, vous pouvez donc leur donner une spécification, et vous pouvez à la fois voir et accepter quand c'est fait.

Si vous ne le faites pas. Vous n’avez pas cela, vous passerez plus de temps à marchander pour savoir si quelque chose est un bogue (c'est-à-dire déjà payé) ou une amélioration (c'est-à-dire plus d'argent) que sur un travail réel.

Une autre option est un contractuel , où vous payez pour un nombre convenu de semaines ou de mois au lieu de par la fonction. De cette façon, vous n'avez pas à vous soucier de licencier un employé à la fin du projet.

Tom
2020-02-17 03:52:12 UTC
view on stackexchange narkive permalink

Mon opinion est la suivante:

Le principal argument en faveur de l'externalisation est que vous n'avez pas à engager du personnel, ce qui est un investissement à long terme. Si vous faites un travail de développement logiciel ponctuel, vous voudrez probablement l'externaliser, car ces développeurs n'auront rien à faire par la suite (la plupart d'entre eux, vous en aurez probablement besoin pour la correction de bogues et les mises à jour).

Le principal argument en faveur du développement en interne est que vous pouvez conserver toute l'expertise et les connaissances acquises au cours du développement et pouvoir en tirer parti pour d'autres projets. Je ne parle pas de compétences en codage, mais de savoir-faire dans le domaine, de compréhension commerciale, etc. Cela signifie également que toutes ces connaissances restent dans l'entreprise, ce qui peut être un facteur si vous avez des secrets commerciaux ou d'autres savoir-faire dignes de protection. impliqué. Oui, vous pouvez signer des NDA, mais même s'ils ne parlent pas intentionnellement, les développeurs externes utiliseront leurs connaissances acquises dans le prochain projet, et cela pourrait être pour votre concurrent.

L'internalisation est également la bonne décision si vous devez être sûr que vous pouvez toujours mettre à jour et prendre en charge ce logiciel dans quelques années. Il y a tellement de logiciels qui sont maintenant non entretenus ou mal entretenus par quelqu'un qui comprend à peine ce qu'ils font simplement parce que le développeur d'origine a fait faillite, ou qu'il a pris sa retraite ou que le contrat était simplement terminé.

ItWasLikeThatWhenIGotHere
2020-02-14 16:34:34 UTC
view on stackexchange narkive permalink

Ce que Kilisi et BigMadAndy ont dit, mais cela vaut la peine d'envisager un autre angle.

Si vous êtes impliqué dans un produit qui aura une période de garantie et de support client, il est logique d'avoir des personnes en interne qui connaissent le développement et peuvent suggérer des solutions. Si vous prévoyez une version 2.0, le développement en interne vous fera gagner du temps en enseignant à un [éventuellement nouveau] fournisseur externe la version 1.0.

Si vous pouvez considérer qu'un travail est terminé au moment où le développement se termine, le sourcing externe fait sens. Si vous pensez à plus long terme, la solution est de vous lancer en interne.

Comme je l'ai commenté à BigMadAndy, c'est ma première expérience et je ne sais pas qu'une telle application de site Web aura besoin de quelles exigences à l'avenir (après son lancement réussi).Mais ce que je sais exactement, c'est "Bien sûr, je pense aux prochaines versions à partir de maintenant et j'ai beaucoup d'idées à ajouter dans le futur! Étape par étape".


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 4.0 sous laquelle il est distribué.
Loading...