Externaliser 🛺
Les éditeurs de logiciels sont souvent confrontés au même dilemme : Lorsque nous avons un nouveau besoin, devons acheter un logiciel pour y répondre ou devons le développer nous-même ?
Cette question n'existait pas il y a 20 ans, car il y avait très peu de logiciels sur le marché. Il était nécessaire de tout développer en interne. Au fur et à mesure que le marché s'est étoffé, cette problématique s’est posée.
Nous allons donc voir ensemble la notion d’externalisation.
La problématique d'externalisation n'existe pas dans des business "physique". Une entreprise de vêtements achète ses machines à coudre et ses camions de livraison. On imagine mal cette entreprise construire elle-même le matériel dont elle a besoin. Ceci pour une raison simple : les membres de la société n'ont pas le savoir-faire nécessaire.
Pour un éditeur de logiciel, c’est différent. En effet, s'il a besoin d'un CRM pour gérer ses clients, les équipes de développeurs peuvent très bien le développer elles-mêmes au lieu de payer un abonnement Hubpost. Elles ont le savoir-faire technique pour développer un tel logiciel. C'est pour cette raison que l'on retrouve beaucoup d'outils "maison" dans les entreprises tech. Payer pour quelque chose que nous pouvons développer nous-même peut parfois être frustrant.
Toutefois, tout développer en interne représente un investissement colossal. Surtout que ça apporte rarement de la valeur à l'entreprise. Prenons l'exemple de Twake (pour changer 😉). Notre backoffice d’administration n’a jamais fonctionné correctement. Lorsque je dois faire une manipulation pour débloquer un client, je finis toujours par demander à mon associé de modifier la base de données au lieux de le faire via notre backoffice. La raison à cela : notre administration n'est pas notre priorité. Nous vendons un logiciel de collaboration. L'administration c'est pour nous, pas pour nos clients. Donc nous n'avons jamais investi beaucoup dans son développement. C'est pourquoi, elle n'est pas maintenue et ne fonctionne pas. Or, il existe des outils spécialisés dans l’administration comme Forest Admin. Il s’agit d’un logiciel d'administration clé en main maintenue et utilisable en quelques minutes. C'est donc un moyen d'externaliser ses besoins.
Pourquoi externaliser
Dans mon exemple, on comprend que développer des briques de logiciels peut prendre beaucoup de temps. Externaliser cette partie semble donc essentiel et apporte plusieurs avantages.
D'abord, externaliser permet de gagner du temps. Implémenter une brique déjà existante prend moins de temps que de développer le tout de 0. Et donc l’investissement initial est toujours plus faible.
De plus, ceci permet d'avoir recourt à des experts dans leur domaine. Les solutions sont bien plus abouties que ce nous aurions pu faire en interne. Par exemple, au début de Twake, nous avons voulu développer notre propre système de facturation. Grosse erreur : d'une part, le système de paiement est la dernière brique à construire. Ça ne sert à rien de s'en occuper tant qu'il n'existe aucune traction autour du produit. D'autre part, c'est un sujet complexe qui nous a demandé plusieurs semaines de développement pour un résultat "très moyen". Au final, nous n'avons jamais mis en production cet outil. C’est pourquoi, nous avons implémenté Chargebee, qui offre un très grand nombre de fonctionnalités que nous n'aurions jamais pu développer.
Qu'est ce qu'on peut externaliser
Plusieurs logiciels peuvent être externalisés. Les logiciels métiers comme le système de comptabilité, le service mails, les CRM, doivent être, évidement, externalisés.
En tant qu'éditeur de logiciels, nous pouvons également externaliser des morceaux de notre logiciel. D'une part, les logiciels supports comme l'administration, le paiement, l'analytics. Mais on peut aller encore plus loin comme par exemple externaliser sa gestion d'utilisateurs. Des outils comme Arengu fournissent une gestion complète de l'utilisateur, de son inscription jusqu'au système de paiement. Avec ce type d'outils, des fonctionnalités comme l’authentification à deux facteurs (renseigner un code reçu sur son mobile à chaque connexion), se fait en quelques clics. Il n'est pas nécessaire de développer pendant plusieurs semaines pour délivrer ça.
Certes, externaliser ses utilisateurs peut sembler un peu extrême. Il convient de se poser les questions suivantes : Pourquoi développer un système d'inscription, de connexion, de mot de passe oublié ? Est-ce notre valeur ajoutée ?
Frein à l’externlisation
Certains freins existent à cette pratique. Tout d’abord, en externalisant plusieurs logiciels, beaucoup de données sont transmises à des services tiers. Il est donc nécessaire de valider les aspects de RGPD. De plus, nous ne sommes pas maîtres de l'information. En effet, si nous souhaitons développer une fonctionnalité qui n’est pas comprise par le logiciel tiers, il y a un risque que des erreurs apparaissent.
Enfin, la facture chaque mois peut vite représenter des montants significatifs. Ce procédé doit donc être utiliser avec parcimonie lorsqu'on a très peu de budget et beaucoup de temps à investir.
Conclusion
Il est important d'externaliser ce qui ne fait pas partie de son cœur de métier. C'est une façon efficace de gagner du temps et d'avoir des services de qualité. Il vaut toujours mieux externaliser quand ce n'est pas clé dans notre business. Sinon la solution ne sera jamais satisfaisante.
Cette édition t’a plu ? Faites le moi savoir en répondant à ce mail 🤗
Certaines personnes de votre entourage pourraient être intéressées par cette édition ? Transférez cet email ou cliquez sur le bouton ci-dessous.
Je te souhaite une excellente journée !
Benoît 💙