Quand faire appel à une agence de développement ou à un développeur pour votre logiciel ?
À un moment donné, toutes les entreprises se heurtent au même obstacle. Les tableurs ne suffisent plus. Les solutions SaaS standard ne sont pas tout à fait adaptées. Il vous faut une solution sur mesure. Et la première question est toujours la même : faut-il engager un développeur ou faire appel à une agence ?
La plupart des conseils sur ce sujet proviennent d’agences cherchant à vendre leurs services ou de développeurs indépendants faisant la promotion de leur travail. Il faut donc garder cela à l’esprit en lisant tout ce qui suit (y compris cet article).
Ce que je peux vous apporter, ce sont 8 années passées à observer des entreprises prendre cette décision, parfois avec justesse, parfois non. J’ai vu des entreprises embaucher un développeur alors qu’elles auraient dû faire appel à une agence. J’ai vu l’inverse. Et j’ai vu des entreprises faire les deux à différentes étapes et obtenir d’excellents résultats dans chaque cas. La bonne réponse dépend de ce que vous construisez réellement, de la rapidité avec laquelle vous en avez besoin et de ce qui se passe après la mise en service.
Le développeur à temps plein
Embaucher un développeur, c’est intégrer quelqu’un à votre équipe. Il apprend à connaître votre activité, vos données, vos processus. Au fil du temps, il devient la personne qui sait comment tout fonctionne.
Un bon développeur capable de créer des outils internes et des logiciels d’entreprise gagne entre 85 000 et 140 000 dollars. Ajoutez à cela les avantages sociaux, le matériel, les frais de recrutement et le temps de gestion, et vous arrivez à un coût annuel total compris entre 110 000 et 180 000 dollars. Et cela avant même qu’il n’ait développé quoi que ce soit.
La période de mise en route est une phase que l’on oublie souvent d’inclure dans les budgets. Lorsqu’un nouveau développeur commence, il passe généralement les 2 à 4 premiers mois à se familiariser avec votre entreprise, vos systèmes et vos données. Bien qu’il travaille et apprenne pendant cette période, il ne développe pas réellement l’outil pour lequel vous l’avez embauché.
Une entreprise de logistique que je connais a embauché un développeur pour créer un système de suivi des commandes. Il a fallu deux mois au développeur pour comprendre comment leurs processus de devis, d’expédition et de facturation s’articulaient avant de pouvoir concevoir quoi que ce soit. L’outil fonctionnait à sa livraison, mais l’entreprise a dû attendre quatre mois entre la date d’embauche et la mise en service du logiciel.
L’autre problème est qu’un développeur unique constitue un point de défaillance unique. S’il part, tout ce qu’il a construit part avec lui (du moins dans sa tête). Former la personne qui le remplacera prendra des mois. S’il tombe malade pendant deux semaines au cours d’une phase cruciale, le projet sera bloqué.
L’embauche d’un développeur à temps plein est judicieuse lorsque
Vous avez des besoins logiciels récurrents qui occuperont quelqu’un 40 heures par semaine, chaque semaine, pendant au moins un an. Vous développez un produit qui nécessite un développement continu. Pas un outil ponctuel. Vous êtes prêt à investir 3 à 5 mois avant de voir un résultat concret. Et vous avez quelqu’un dans votre équipe capable de gérer un développeur, de vérifier son travail et de prendre des décisions techniques. Ce dernier point est plus important qu’on ne le pense.
Si personne dans votre entreprise n’est en mesure d’évaluer si le développeur prend de bonnes décisions architecturales, vous ne saurez pas qu’il y a un problème avant que le logiciel ne tombe en panne en conditions réelles d’utilisation.
L’agence
Une agence met une équipe à votre disposition pour une durée déterminée. Le projet est défini, développé et livré. Ensuite, la mission prend fin (ou passe en phase de maintenance).
La structure des coûts est complètement différente. Vous payez pour un résultat, pas pour un salaire. La plupart des projets d’outils internes de notre agence se situent entre 8 000 et 50 000 dollars, livrés en 4 à 8 semaines. Pas d’avantages sociaux. Pas de frais de recrutement. Pas de mois de mise en route.
Une agence apporte également une expérience que vous ne pouvez pas obtenir en recrutant une seule personne. Nous avons développé plus de 50 outils internes dans les domaines de la logistique, de la vente en gros, des services sur le terrain, de l’éducation et d’une douzaine d’autres secteurs. Lorsqu’un distributeur en gros nous dit qu’il a besoin de suivre ses stocks dans trois entrepôts utilisant des formats de références différents, nous avons déjà résolu ce problème. Ce n’est pas le cas d’une nouvelle recrue. Elle finira par y arriver, mais c’est vous qui payez pour sa courbe d’apprentissage.
En contrepartie, une agence s’en va. Nous développons l’outil, nous vous le remettons, et à moins que vous ne disposiez d’un contrat de maintenance, nous passons au projet suivant. Vous n’avez pas quelqu’un assis dans votre bureau capable de corriger un bug en 20 minutes. Vous disposez d’une équipe disponible pendant les heures de bureau, qui répond dans la journée et gère les modifications selon un calendrier défini.
Une agence est la solution idéale lorsque
Vous avez un projet spécifique avec un périmètre bien défini. Développer cet outil. Connecter ces systèmes. Automatiser ce processus. Vous avez besoin que ce soit fait en quelques semaines, pas en plusieurs mois. Vous ne voulez pas gérer un développeur ni prendre de décisions techniques. Et vous n’avez pas 40 heures par semaine de travail de développement continu pour justifier un salaire à temps plein.
Comparaison entre un employé et une agence
Sur le papier, le développeur semble moins cher.
« 140 000 $ par an divisés par 2 000 heures, cela fait 70 $ de l’heure, et l’agence facture 150 $ de l’heure, donc le développeur coûte deux fois moins cher. » Ce calcul est erroné pour trois raisons.
Premièrement, un développeur n’est pas productif pendant 2 000 heures par an. Entre la phase de mise en route, les réunions, les changements de contexte et les congés, vous obtenez peut-être 1 200 à 1 400 heures de développement effectif la première année. Probablement 1 500 à 1 600 la deuxième année.
Deuxièmement, l’agence ne vous facture pas 2 000 heures. Un projet de 30 000 $ peut nécessiter 200 à 300 heures de travail de l’agence. Vous payez pour le projet, pas pour une année de la vie de quelqu’un.
Troisièmement, et c’est ce que les gens oublient complètement : quel est le coût de l’attente ?
Si une agence livre en 6 semaines et qu’un développeur livre en 5 mois (mise en route comprise), cela représente environ 3 mois de différence. Trois mois pendant lesquels votre équipe continue de tout faire manuellement. Elle continue de faire des erreurs et de passer ses vendredis après-midi à rapprocher des données dans des feuilles de calcul.
Pour une entreprise de 30 personnes, ces processus manuels coûtent facilement entre 3 000 et 8 000 dollars par mois en main-d’œuvre gaspillée. Trois mois supplémentaires de cela représentent entre 9 000 et 24 000 dollars. Ajoutez cela au salaire du développeur, et le calcul prend une tout autre tournure.
L’approche hybride
Engagez une agence pour développer la première version. Faites-la livrer en 6 semaines. Commencez à l’utiliser. Déterminez ce dont vous avez réellement besoin par rapport à ce que vous pensiez avoir besoin (c’est toujours différent). Puis, six mois plus tard, lorsque vous avez des demandes de fonctionnalités en cours et suffisamment de travail de développement pour le justifier, engagez un développeur pour maintenir et étendre ce qui a été construit.
Le développeur part d’un système fonctionnel plutôt que d’une page blanche. Il dispose d’une base de code à étudier. Il dispose d’utilisateurs qui peuvent lui dire ce qui fonctionne et ce qui ne fonctionne pas. Sa mise en route prend deux fois moins de temps, car les décisions difficiles ont déjà été prises.
Une entreprise de formation avec laquelle nous avons travaillé a procédé exactement ainsi. Nous avons développé son outil de coordination des étudiants en cinq semaines. Elle l’a utilisé pendant huit mois. Puis elle a engagé un développeur à temps partiel pour ajouter des fonctionnalités et des intégrations au fur et à mesure des besoins. Ce développeur était productif dès sa deuxième semaine, car le système était déjà documenté et opérationnel. Comparez cela à un développeur partant de zéro, et la différence se compte en mois. Vous pouvez en savoir plus sur ce projet dans nos études de cas.
Questions à vous poser
Ai-je un projet spécifique ou des besoins de développement continus ?
Si vous pouvez décrire exactement ce dont vous avez besoin et que le projet a une fin claire, engagez une agence. Si vous vous dites : « Nous avons besoin de quelqu’un pour développer des choses pour nous de manière indéfinie », engagez un développeur.
Dans quel délai ai-je besoin de cela ?
Si la réponse est « hier », une agence l’emporte à chaque fois. Le recrutement d’un développeur prend entre 4 et 8 semaines, puis des mois pour qu’il soit opérationnel. Une agence peut commencer dès la semaine prochaine.
Y a-t-il quelqu’un dans mon équipe capable de gérer un développeur ?
Si personne dans votre entreprise ne sait évaluer du code, prendre des décisions d’architecture ou hiérarchiser un backlog technique, un développeur indépendant aura du mal à s’en sortir. Il a besoin d’un supérieur qui comprenne ce qu’il fait. Une agence se gère toute seule.
Quel est mon budget ?
Un développeur a un coût mensuel fixe, qu’il soit en train de développer ou inactif. Une agence représente un coût ponctuel par projet. Si vous disposez d’un budget de 30 000 $ pour un outil spécifique, engagez une agence. Si vous disposez d’un budget annuel de 120 000 $ et que vous avez toujours du travail à faire, un développeur pourrait être plus judicieux.
Que se passe-t-il une fois l’outil développé ?
Si vous avez besoin de quelqu’un pour le maintenir, le faire évoluer et assurer son support à plein temps, un développeur vous offre cela. Si vous avez besoin de mises à jour et de corrections de bugs ponctuelles, un contrat de maintenance avec une agence est moins cher et plus simple.
Les mauvaises raisons de choisir l’une ou l’autre option
N’engagez pas un développeur en pensant que ce sera moins cher à long terme sans avoir réellement fait le calcul. Pour la plupart des PME dont le chiffre d’affaires se situe entre 3 et 30 millions de dollars, un outil sur mesure est un projet, pas une fonction permanente. Vous n’avez pas plus besoin d’un développeur à temps plein que d’un électricien à temps plein.
N’engagez pas d’agence parce que vous avez peur de vous engager. Si vous avez réellement un an de travail de développement en perspective, une agence qui travaille projet par projet vous coûtera plus cher qu’un bon employé à temps plein.
N’engagez ni l’un ni l’autre tant que vous ne pouvez pas décrire clairement le problème que vous cherchez à résoudre.