Dans le cadre d’un projet de développement logiciel, ces trois modes de collaboration se complètent, chacun ayant ses avantages et inconvénients.
Comme la solution optimale dépend de chaque projet, nous allons détailler ces trois modes de collaboration selon des angles financiers, de durée ou de compétences.
Vous aurez ainsi toutes les clés pour décider : quel est bon interlocuteur pour votre projet de développement ?
Un ou plusieurs CDI peuvent être rentabilisés lorsqu’un projet s’étale sur de nombreuses années. Autrement, si vous prévoyez un développement court, ou en pointillés (développement, exploitation, développement, etc), que faire de l’équipe recrutée en dehors des phases de développement ?
Il s’agit du mode de collaboration le moins cher à la journée parmi les trois, passé l’ordre de l’année. Un ingénieur en informatique intermédiaire coûte environ 50k€ brut / an soit presque 80k€ / an en coût total employeur.
Avoir votre propre équipe technique en interne vous permet de prendre vos propres décisions techniques et technologiques. Pour des boites tech, c’est un critère essentiel qui aura de grandes répercussions sur la qualité de leur produit et leur structure de coûts. Il relève de la responsabilité du CTO de s’assurer de la qualité des décisions techniques prises.
A l’inverse, pour des boites moins tech, mais désireuses de se lancer dans un développement, cette caractéristique peut devenir un fardeau. Les erreurs des choix techniques et technologiques se paieront cash.
C’est à peu près les deux seuls avantages, mais non des moindres, à posséder une équipe technique en interne.
Le temps de recrutement et le risque associé sont à prendre en compte. Les ingénieurs en informatique ont les compétences parmi les plus demandées sur le marché, attendez-vous à un recrutement difficile. En plus du rapport de force qui n’est pas à l’avantage de l’employeur, comment évaluer des compétences techniques si vous ne les comprenez pas vous-mêmes ? Une bonne manière de procéder est de se baser sur les projets réalisés par le talent, si possible en présence d’un autre ingénieur ! Comptez 10k€ par tête simplement pour l’ensemble du processus d’embauche.
Aussi, assurez-vous d’être précis sur les compétences que vous cherchez à obtenir. Gestion de projet ? Développement front ? back ? Gérer l’infrastructure ? Les meilleurs ingénieurs savent gérer l’ensemble même s’il y a toujours des préférences personnelles à prendre en compte.
Enfin, posez-vous la question du management. Que ce soit pour une équipe entière ou un seul profil recruté, comment s’assurer que les objectifs soient tenus ? Respect du cahier des charges ? Respect des deadlines ? Respect de la qualité du code ?
Dans le cadre d’une équipe de minimum 3 personnes (1 Product Owner et 2 développeurs), la méthodologie scrum propose un excellent cadre d’organisation.
Le freelance est particulièrement adapté pour des missions de l’ordre du mois et/ou pour compléter une équipe avec une expertise spécifique. Sur des projets plus complexes nécessitant de nombreuses compétences (gestion de projet, design, développement front-end et back-end, infrastructure, maintenance), un freelance risque de se retrouver dépassé.
Le recrutement a été grandement facilité grâce à des plateformes comme Malt ou Crème de la crème. La flexibilité contractuelle de ce type de prestation vous permet aussi de rapidement tester la collaboration en conditions réelles pour se faire un avis au plus proche de la réalité. Attention cependant : cela fonctionne dans les deux sens.
Le tarif d’un développeur, souvent compté en TJ (taux journalier), ira de 300€ à 800€ HT. Ne vous focalisez pas que sur ce chiffre ! Le montant final reste le TJ multiplié par le nombre de jour travaillé. Même avec un TJ faible, si la productivité l’est tout autant ce n’est certainement pas une bonne option (sans parler des autres risques engendrés comme la dette technique).
Enfin, au même titre qu’un recrutement interne, un freelance doit être managé. Les plus expérimentés seront plus autonomes, mais c'est un risque à ne pas sous-estimer.
Voir plusieurs années s’il y a des phases off. La meilleure façon de développer un logiciel est d’itérer selon les cycles suivants :
Et ensuite vous recommencez le cycle. Ainsi, il n’est pas rare qu’un projet de développement ait des phases de développement actives, suivi de phases d’observation et de rentabilité de la solution. Dans ce contexte, une agence permet de moduler les ressources dont vous avez besoin, et de payer en conséquence.
Une agence expérimentée gère déjà de nombreuses applications en production, offrant des retours d’expériences stratégiques, autant dans le conseil, le conception que dans la réalisation. Aussi, elle dispose de squads ayant l’habitude de travailler ensemble. Enfin, la R&D qu’elle peut opérer pour améliorer ses pratiques peut-être un atout majeur.
Tout comme les freelances, la flexibilité du contrat permet de tester rapidement la collaboration sans passer par tout un processus de recrutement. Nous vous conseillons, d’une part, de vous baser sur les expériences passées ; mais aussi travailler de manière itérative pour avoir des résultats dès les premières semaines. Concrètement, une équipe travaillant en mode agile sera capable de délivrer une nouvelle version de l’application toutes les deux semaines sur un environnement de pré-production. Vous permettant d’être confiant quant à l’avancement du projet et ne pas se rendre compte que quelque chose cloche six mois plus tard.
Elle fournit une équipe avec toutes les compétences nécessaires dès le jour 1, réduisant ainsi le time to market, c'est-à-dire le temps entre l’idée et la réalisation.
Le management n’est plus un soucis avec ce type de collaboration. Attention cependant ! Il faut prévoir un référent interne, avec un vrai temps alloué, pour qu’il soit capable de fournir toutes les informations nécessaire au prestataire.
Une agence est plus coûteuse qu’une équipe interne si le projet s’étend sur de nombreuses années. En plus du prix des profils, vous payez l’organisation huilée entre ces derniers mais aussi pour la R&D, la responsabilité de la production, le risque pris pour l’internalisation des profils, plutôt que votre entreprise.
En revanche, en passant par une agence, vous économisez grandement sur des projets plus courts. SI vous vous lancez dans la tech, une bonne roadmap serait la suivante :
Pour résumer, notez ces ordres de grandeur. Pour un développement de moins de 3 mois, il est souvent préférable de faire appel à un freelance. Entre 3 et 72 mois ETP une agence est la plupart du temps pertinente. Enfin, pour un développement de plus de 72 mois, il peut-être pertinent de se pencher sur l’internalisation.
2 articles par mois sur l'innovation au coeur de votre entreprise : Tech, IA, Automatisation.