Ou trouver les développeurs les moins chers d'Europe pour votre projet ?

alerte spoiler : en France.

La semaine dernière, le hasard des conversations s'est aventuré sur le sujet des développeurs low-cost à l'étranger.

"J'ai trouvé une équipe en Ukraine qui fait le développement. Leurs tarifs sont très compétitifs comme vous pouvez l'imaginer, et en même temps ils sont très professionnels."

"Nous avons des équipes en Roumanie. Elles font bénéficier nos clients de meilleurs tarifs".

Et pourquoi pas après tout ?

Le développement informatique est-il devenu une commodité comme une autre ? Peut-on acheter des heures de développement ReactJS comme on achète un litre d'essence ou une brique de lait ?

Il y a 3 facteurs qui ont favorisé cette marchandisation du développement :

  • les compétences sont devenues faciles à acquérir. Les formations en ligne fleurissent. Certaines sont d'une réelle qualité, et souvent gratuites.

  • il n'y a pas d'habilitation à obtenir pour se déclarer développeur. Pas de "brevet" certifié. Tout fonctionne sur l'évaluation par l'expérience acquise : "cela fait 5 ans qu'il fait du SQL, il doit bien maîtriser" (pas du tout certain en fait, mais on n'a pas mieux).

  • la généralisation du travail à distance dans les métiers du logiciel, qui a franchi un pas de plus avec la crise sanitaire. Les équipes peuvent être réparties dans le monde entier.

Tout cela facilite le recours au développement off-shore à moindre coût.

Typologie des coûts et des prestations en Europe

Comparé à mon taux horaire français de 70-80$, il n'y a apparemment pas photo. Même en prenant les fourchettes hautes, un développeur français est 60% plus cher que son homologue en Europe de l'Est.

Et il est devenu assez facile de trouver un tel développeur low-cost: ils sont environ 160,000 rien qu'en Ukraine

NB : les chiffres du tableau ci-dessous sont un peu "gonflés", car publiés par une société de développement Ukrainienne.

Ces entreprises proposent 3 modèles de coopération :

  • freelance : un consultant ou un développeur vient en renfort ponctuel auprès des équipes internes du client

  • Outsourcing : mise à disposition d'une équipe durant le temps du projet. Elle prendra en charge l'intégralité du développement. Le client conserve le pilotage du projet : définitions des fonctionnalités prioritaires, tests utilisateurs, réglementation RGPD, fournitures des services externes (API tierce, hébergement, ...)

  • Outstaffing : le client apporte le briefing et le financement, et le prestataire s'occupe de tout le reste, y compris le management du projet. A la fin, le client dispose d'un service prêt à l'emploi.

Que chercher de plus ? Foncez !

Il y a un loup

Selon la théorie du cordonnier le plus mal chaussé, je manque de temps pour effectuer la refonte de mon site Internet. Pour qu'il ne soit pas uniquement un site vitrine, je voudrais le doter de quelques fonctions utiles. Par exemple, l'édition d'un lean canvas en ligne.

J'ai donc pris contact la semaine dernière avec Fulcrum, une entreprise Ukrainienne de développement logiciel (45 salariés, 2 ans d'existence).

Leur processus est ultra rodé : on dépose un message avec la description du projet en quelques lignes, puis on reçoit rapidement un mail invitant à caler un entretien par visio-conférence avec un Business Developper.

Lors de l’entretien, j'explique dans mon anglais piteux ce que je souhaite faire. C'est simple en fait : un site un peu comme le leur 😂. Mon interlocuteur me prévient qu'il s'agit d'un projet d'environ 1.5 mois, avec un budget approximatif de 15 000$.

Ah OK, pas si low-cost que ça en fait !

Encore faut-il bien préciser ce qu'il faut faire sur le site. Il me demande donc de rédiger un briefing détaillé (en anglais) des différentes pages et des fonctionnalités attendues. Me voila avec une tâche supplémentaire dans ma to-do list déjà longue comme le bras.

Et oui.

La difficulté n'est pas de coder.

Ce qui est difficile, c'est de comprendre exactement ce qu'il faut coder.

Le coût caché : la spécification détaillée

Ce qui est difficile, c'est de modéliser les informations sous la forme de structures logicielles (des objets, des classes, des tables) et de bien définir l'interaction entre ces informations et l'utilisateur.

La vraie barrière à l'entrée, c'est de s'approprier avec suffisamment de détail le métier de celui qui veut construire un logiciel.

Dans certains cas, ce sont des standards internationaux pour lesquels chaque développeur dispose déjà d'une idée de ce qu’il faut faire : par exemple un site de e-commerce simple avec des produits à vendre, répartis par catégories.

Mais souvent, il faut faire face un à sujet que l'on ne connaît pas.

Par exemple, j'ai codé hier une fonction de génération d'un fichier au format FEC (Format d'Export Comptable). Ce fichier comporte des écritures comptables organisées par journaux. Chaque écriture dispose d'un ensemble d'attributs spécifiques, dont un numéro de compte du Plan comptable général, éventuellement complété d'un compte auxiliaire.

Comparons mon temps de développement à celui que l'on attendrait d'une version off-shore :

Voila le souci.

La formalisation du briefing va monopoliser un temps conséquent et au moins aussi couteux que celui du développeur : le vôtre !

Et les économies réalisées sur le coût de développement vont disparaître au profit du surcroît de temps consacré à formaliser ce qui est attendu.

Au final, le développement off-shore ressemble à un meuble Ikéa : c'est moins cher à condition de savoir exactement ce que l'on veut, de parler la langue, et d'accepter de faire soi-même une partie du travail.

Bonne semaine !

— Hervé

PS : l'article du blog de Fulcrum présentant le panorama des prix et des compétences off-shore : https://fulcrum.rocks/blog/offshore-development-rates


Si vous aimez cette newsletter et que quelqu’un dans votre entourage pourrait lui aussi l’apprécier, vous pouvez lui partager 👇

Partager

Si vous êtes tombés par hasard sur cette newsletter et que le contenu vous intéresse :