La première décision n’est pas technique: acheter ou faire fabriquer
Avant de consulter une agence de développement logiciel, il faut savoir si votre besoin justifie du sur mesure. Un progiciel du marché coûte moins cher à l’achat, impose ses processus et vous fait payer un abonnement sans fin; un logiciel développé pour vous épouse votre organisation et vous rend responsable de son existence pour les années à venir. Entre les deux, l’assemblage de briques existantes reliées par des connecteurs répond à beaucoup de situations sans engager une fabrication complète.
La bonne question n’est donc pas le prix du projet mais le coût de possession sur plusieurs exercices, entretien, hébergement, évolutions et montée de version compris. Un prestataire honnête accepte de vous dire que votre besoin ne justifie pas un développement logiciel spécifique. Si personne dans la consultation ne pose cette question, elle se reposera d’elle même deux ans plus tard, quand le budget d’entretien dépassera ce que vous aviez imaginé.
Une découverte payée coûte moins cher qu’un cahier des charges deviné
En développement logiciel, les demandes rédigées en interne décrivent presque toujours les écrans souhaités plutôt que les règles de gestion réelles. C’est là que naissent les avenants. Une phase de découverte facturée, courte, produit ce que la consultation ne peut pas produire: la cartographie des processus, les cas particuliers qui font l’essentiel de la complexité, les systèmes à interroger, le volume de données à reprendre et une estimation argumentée par lot.
Son intérêt principal est qu’elle vous appartient. Le document produit doit pouvoir être remis à un autre prestataire, ce qui vous libère du fournisseur qui l’a rédigé et rend les offres suivantes réellement comparables. Exigez cette clause avant de lancer la phase; sans elle, vous financez l’avantage commercial de celui qui l’a menée.
La cession des droits sur le code s’écrit, sinon elle n’existe pas
Un logiciel est protégé par le droit d’auteur, et payer son développement ne vous en rend pas automatiquement titulaire. Sans clause explicite, vous détenez un droit d’usage et rien de plus: vous ne pouvez ni modifier le code, ni le confier à un autre prestataire, ni le réutiliser dans un autre produit. La cession doit être écrite et détailler ce qui est transféré, pour quels usages, pour quelle durée et sur quel territoire, et elle doit couvrir le droit d’adapter et de faire évoluer.
Vérifiez aussi la situation des contributeurs. Un développeur salarié et un indépendant ne relèvent pas du même régime, et un prestataire ne peut céder que ce qu’il détient lui même. Demandez donc que le contrat garantisse la chaîne des droits jusqu’aux personnes qui ont réellement écrit le code, en particulier lorsqu’une partie du travail a été sous traitée.
Les composants libres arrivent avec leurs obligations
Aucun logiciel contemporain n’est écrit intégralement à la main; il repose sur des centaines de composants ouverts, chacun sous sa propre licence. Certaines licences imposent de publier les modifications, d’autres exigent seulement une mention, d’autres encore posent des conditions incompatibles avec une distribution commerciale. Le sujet est tout sauf théorique le jour où vous voulez revendre la solution ou la faire auditer par un client.
- un inventaire des dépendances est livré et tenu à jour, licence par licence
- les composants dont la licence est incompatible avec votre usage sont identifiés avant d’être intégrés
- les vulnérabilités connues des dépendances sont surveillées, pas seulement à la livraison
- le contrat précise qui met à jour ces composants et à quelle fréquence
La recette est votre seul vrai levier de négociation
Tant que vous n’avez pas prononcé la réception, vous gardez un moyen d’action; après, vous négociez. Écrivez donc les critères d’acceptation avant le démarrage, sous forme de scénarios métier que quelqu’un de votre équipe pourra exécuter sans le prestataire. Prévoyez une période de vérification en conditions réelles, avec vos volumes et vos données, et non sur un jeu d’essai fabriqué pour la démonstration.
Prévoyez également une garantie après mise en service et, si votre organisation le permet, un paiement final conditionné à la fin de cette période. Ce n’est pas une marque de défiance: c’est ce qui garantit que les correctifs de dernière minute seront traités par les personnes qui connaissent le code, au lieu d’être reportés sur un contrat d’entretien négocié dans l’urgence.
Réversibilité: pouvoir changer de prestataire sans tout reconstruire
La question ne se pose jamais au bon moment, donc elle se traite au contrat. Vous devez disposer du dépôt de code complet avec son historique, de la documentation d’installation, de la description des environnements, des scripts de déploiement, des schémas de données et de la procédure de restauration des sauvegardes. Les comptes d’hébergement et de services tiers doivent être ouverts à votre nom, avec un administrateur interne, et non appartenir au prestataire.
Testez cette réversibilité pendant que la relation est bonne. Demandez une fois, en cours de projet, qu’un environnement soit reconstruit à partir de la seule documentation fournie. Si l’opération échoue, vous le saurez tant qu’il est facile de corriger, et pas le jour où vous voudrez partir.
Comment lire l’offre de développement logiciel à Paris
La concentration de directions informatiques et de sièges sociaux dans la capitale a fait naître une offre de développement logiciel très segmentée, et les intitulés commerciaux se ressemblent tous. Les sociétés de services vendent avant tout de la capacité, facturée en jours, ce qui convient quand vous pilotez vous même et disposez d’un responsable produit; elles sont onéreuses et frustrantes quand vous attendez qu’elles arbitrent à votre place. Les studios produits vendent un résultat et assument la conception, mais acceptent rarement de simplement exécuter un cahier des charges figé. Les éditeurs vous proposeront d’adapter leur propre solution, ce qui peut être le meilleur choix à condition de mesurer la dépendance créée.
Un point mérite une question directe: la sous traitance en cascade. Un devis local peut recouvrir une équipe située ailleurs, ce qui n’est un problème ni de qualité ni de principe, mais change le fuseau horaire des échanges, la langue de la documentation et la chaîne de responsabilité. Demandez qui écrit le code, où, sous quel contrat, et qui répond quand un incident survient un vendredi soir. Demandez aussi la rotation moyenne des équipes sur les missions comparables, car dans un marché où les profils expérimentés sont disputés, la continuité vaut plus qu’une belle méthodologie.
Forfait, régie ou engagement de capacité
Le forfait convient aux lots dont le périmètre est réellement figé et se paie par une marge de sécurité intégrée; il transforme chaque évolution en avenant, ce qui est confortable pour l’acheteur et rigide pour le produit. La régie au temps passé suit la réalité d’un logiciel qui se découvre en le construisant, mais elle suppose que quelqu’un de votre côté décide chaque semaine, faute de quoi la facture avance plus vite que le produit. L’engagement de capacité, une équipe stable pour une durée convenue, se situe entre les deux et fonctionne bien lorsque le travail est continu; il exige une cadence de livraison écrite et un point de sortie. Une formule mixte, découverte en régie puis lots au forfait, reste souvent la plus lisible.
Après la mise en service, la maintenance n’est pas une option
Un contrat de maintenance en développement logiciel doit distinguer trois natures d’intervention: la correction des anomalies, la mise à niveau technique imposée par l’extérieur, et les évolutions fonctionnelles que vous demandez. Confondre les trois dans une enveloppe unique fait toujours disparaître la deuxième, celle qui n’intéresse personne et sans laquelle le logiciel devient vulnérable. Fixez des délais d’intervention par niveau de gravité, un canal de signalement, une personne identifiée et une revue périodique. Prévoyez enfin une provision annuelle d’évolutions, car un logiciel que plus personne ne fait évoluer est un logiciel que les utilisateurs contournent.
Consulter sans multiplier les malentendus
Remettez à chaque candidat le même dossier: processus concernés, volumes, systèmes à interfacer, reprise de données existante, contraintes de sécurité et d’hébergement, exigences d’accessibilité, critères de réception, attentes de réversibilité et durée d’entretien. Comparez ensuite les offres sur le coût pluriannuel complet, sur les droits cédés et sur la composition nominative de l’équipe, plutôt que sur le montant affiché en première page.
Quand le besoin déborde sur des métiers proches, examinez les séparément: les agences d’applications mobiles si l’usage principal se fait en mobilité, les agences de développement web lorsque l’outil reste une interface accessible par navigateur, et les agences d’intelligence artificielle quand une partie de la valeur repose sur l’exploitation de vos données. Les références et les avis clients des agences de développement logiciel référencées sur Edvido permettent de bâtir une liste courte, puis un brief transmis en une fois vous rapporte des propositions établies sur des bases identiques.