Comment choisir une société de développement de logiciels : Questions clés à poser
I write about fintech, data, and everything around it
Tout projet de développement de logiciel commence par un grand nombre de questions et d’inquiétudes, surtout si vous faites appel à un fournisseur pour la première fois ou si le fournisseur que vous engagez est nouveau pour votre organisation. Les questions les plus évidentes concernent les tarifs, les pratiques de facturation, les contrats, l’expérience, la taille et l’échelle, et la possibilité de respecter votre calendrier. Ces questions sont importantes, mais elles ne peuvent pas constituer le seul critère de sélection d’un fournisseur. Prendre une décision basée uniquement sur le prix et divers facteurs d’hygiène pourrait mettre votre projet de développement de logiciel en difficulté. Quelles sont donc les questions qui comptent vraiment et quels sont les autres paramètres qui peuvent vous aider à évaluer une société de développement de logiciels ?
La première grande question est de savoir quelle entreprise de développement de logiciels vous convient le mieux. Dans le cadre de notre expérience avec des clients du monde entier, on nous a posé un certain nombre de questions qui vont des plus évidentes à celles qui nécessitent un examen approfondi et qui sont essentielles à l’établissement de la confiance. Sur la base de ces expériences, nous vous proposons une liste de questions qui vous aideront à choisir l’entreprise de développement de logiciels avec laquelle vous devriez vous associer. Cette liste n’est pas exhaustive et nous serions ravis que vous la complétiez en nous écrivant.
Questions importantes à poser lors du choix d’une société de développement de logiciels
1. Quels processus suivez-vous pour vous assurer que vous répondez pleinement à nos exigences ?
Pourquoi est-ce important : aujourd’hui encore, de nombreux projets informatiques échouent. Une étude réalisée en 2019 par Innotas a révélé que, selon 55 % des professionnels de l’informatique interrogés, leurs projets avaient échoué, principalement en raison d’un malentendu ou d’une mauvaise communication entre l’entreprise de développement de logiciels et le client. Il est naturel que vous connaissiez mieux votre problème parce que vous êtes dans ce domaine et que vous supposiez que certains aspects de votre besoin peuvent être évidents, mais que vous n’êtes peut-être pas en mesure de les communiquer aussi bien au vendeur. Cela laisse une marge d’erreur car un développeur ne construira que ce qu’on lui demande explicitement de construire.
Réponse idéale : Le vendeur doit savoir quelles questions poser pour obtenir des éclaircissements supplémentaires afin d’éliminer tout écart entre les attentes et ce qui est livré. Une société de développement de logiciels expérimentée vous répondra en démêlant la complexité cachée des fonctionnalités et les différentes options/choix. Ils poseront des questions approfondies qui leur permettront non seulement de construire selon les besoins, mais aussi d’introduire des fonctionnalités améliorées pour développer le produit. Le vendeur dispose d’une liste de questions standard qui sert de modèle et qu’il peut adapter à chaque client. Soyez attentif aux mots tels que wireframes, prototypes, proof of concepts et minimum viable products (MVP). Il s’agit d’outils que les sociétés de développement de logiciels utilisent pour communiquer leur compréhension et vous donner la possibilité de valider cette compréhension . Si le fournisseur est en mesure de fournir une telle liste et de l’améliorer après chaque projet réalisé pour un client, vous savez que vous êtes sur la bonne voie. Dans un premier temps, le développeur de logiciels doit vous proposer de commencer à esquisser des idées, ce qui vous permettra de préciser vos attentes, puis d’évoluer progressivement vers un prototype fonctionnel à cliquer.
Lisez aussi : Bonnes pratiques des services de maintenance applicative
2. Allez-vous utiliser des ressources situées à distance ?
Pourquoi est-ce important ? Il est de notoriété publique qu’un grand nombre d’entreprises de développement de logiciels n’ont aujourd’hui que des bureaux de vente et d’affaires aux États-Unis, tandis que leurs équipes de développement sont situées en Asie ou parfois en Europe.. Bien que l’externalisation à l’étranger existe depuis des décennies et que la plupart des entreprises soient maintenant bien au fait des pratiques de délocalisation, il est utile de savoir comment votre fournisseur gère les différents fuseaux horaires, les différentes cultures et la langue de communication. Beaucoup de projets échouent parce que l’absence de communication, ou une communication insuffisante et médiocre, détruit la confiance du client.
Réponse idéale : Votre fournisseur doit vous offrir des canaux pour communiquer directement avec les développeurs de logiciels qui travaillent sur votre projet, et il doit être en mesure de vous offrir cette liberté et ce confort. Si ce n’est pas toute l’équipe, au moins les principaux développeurs et le chef de projet doivent avoir une bonne connaissance de l’anglais et être à l’aise dans la communication avec les clients. En outre, votre fournisseur doit être en mesure de vous montrer comment le flux de communication garantira des mises à jour opportunes, une visibilité en temps quasi réel du projet et une collaboration au sein de l’équipe.
3. Qu’en est-il des bibliothèques et des droits de licence associés ?
Pourquoi est-ce important ? Les développeurs aiment gagner du temps et de l’argent en construisant des systèmes sur des plateformes internes ou tierces. Bien que l’utilisation de plateformes tierces ne soit pas une mauvaise pratique pour accélérer le développement et que la création de chaque ligne de code à partir de zéro puisse être assez coûteuse, certaines choses peuvent mal tourner si vous n’êtes pas prudent. Tout d’abord, assurez-vous que votre logiciel n’est pas basé sur un programme qui nécessite un abonnement annuel ou qui pourrait devenir obsolète et ne plus exister à l’avenir. La plateforme tierce doit être basée sur des bibliothèques/frameworks populaires.
Réponse idéale : Idéalement, votre fournisseur devrait être en mesure de vous fournir le code source. Mais si un développeur de logiciels utilise une plateforme interne, il ne sera pas disposé à publier son code source. Par conséquent, si la relation avec l’éditeur de logiciels se dégrade, vous devez vous assurer que vous disposez de tout ce qui est nécessaire pour modifier ou développer le système logiciel que vous avez payé, car il ne sera pas facile d’y apporter des modifications sans revenir au développeur initial.
4. Allez-vous fournir un système de déploiement entièrement automatisé ?
Pourquoi est-ce important : une option de déploiement automatisé est toujours préférable, en particulier parce que l’étape du déploiement est l’une des sources d’erreur les plus courantes dans un projet de développement logiciel. Le déploiement est un processus complexe qui comporte plusieurs composantes telles que l’installation de plusieurs bibliothèques, la création de la structure des répertoires, la compilation du code source et le transfert des fichiers vers l’environnement de production. Le déploiement manuel augmente le risque de variations entre l’environnement de développement et l’environnement de production, ce qui peut être difficile à diagnostiquer et assez coûteux à rectifier.
Réponse idéale : Le fournisseur doit vous proposer un déploiement automatisé pour garantir l’uniformité des environnements de développement, de test et de production. Le déploiement automatisé permet également la livraison continue de code dans n’importe quel environnement, ce qui permet de déployer rapidement des correctifs.
5. Quel est votre processus de conception et de développement de logiciels ?
Pourquoi est-ce important : une société de développement de logiciels expérimentée utilisera des processus fiables et reproductibles qui permettent l’organisation, la cohérence et le contrôle de la qualité. Il doit s’agir d’un processus fondé sur l’expérience pratique, les enseignements tirés et les pratiques de pointe du secteur. Votre vendeur doit également être en mesure de vous guider vers la meilleure approche pour vous, même si cela implique de s’écarter de votre point de vue.
Réponse idéale : Votre fournisseur de développement de logiciels devrait être en mesure de parler en termes de processus Agile, d’itérations, de recherche UX/UI, d’assurance qualité/test, de journalisation, etc. Il s’agit de bonnes pratiques qui contribuent à la réussite du projet tout en réduisant les risques. Ils devraient également être en mesure de discuter de l’expérience acquise dans la construction de MVP, avec un crédit supplémentaire pour pouvoir la relier spécifiquement à votre projet.
6. Que se passe-t-il après l’accouchement ?
Pourquoi est-ce important : tous les produits logiciels nécessitent une assistance après leur lancement, et vous devez savoir quel type d’assistance votre fournisseur de développement logiciel promet une fois le logiciel déployé.
Réponse idéale : Le fournisseur doit vous indiquer qu’il peut offrir un soutien continu, une maintenance et des mises à niveau, une résolution des problèmes, des améliorations, etc. en fonction des besoins. Après la livraison, il est également important de s’assurer que votre fournisseur vous rend propriétaire de la propriété intellectuelle et du code source du logiciel. Si votre vendeur est bon, il offrira également des garanties ou des garanties de service.
7. Pourquoi votre entreprise est-elle adaptée à mon projet de logiciel ?
Pourquoi est-ce important : cette question vous permet d’évaluer dans quelle mesure le vendeur comprend votre entreprise, votre produit, vos objectifs et vos priorités. Souhaiteriez-vous travailler avec un partenaire qui “ne vous comprend pas vraiment” ?
Réponse idéale : Le vendeur doit être en mesure de parler de vos besoins avec précision et de lier ses propositions de valeur directement à ce qui est important pour vous.
8. Proposez-vous des tests automatisés ?
Pourquoi est-ce important : tester le logiciel développé est essentiel, mais c’est une activité assez coûteuse. Vous ne pouvez pas vous permettre de diffuser des logiciels erronés ou défectueux. Mais l’automatisation du processus de test en fait une activité plus rapide et relativement moins coûteuse.
Réponse idéale : Votre fournisseur de développement logiciel vous proposera d’exécuter une série complète de tests automatisés, même si cela augmente le temps nécessaire, car un fournisseur expérimenté sait que même si cela prend plus de temps au départ, à long terme, la valeur ajoutée est imbattable. Les tests automatisés vont bien au-delà du déploiement et vous permettent de tester votre logiciel en permanence pour détecter les problèmes.
Aucune entreprise n’entreprend un projet de développement de logiciel en s’attendant à échouer, mais cela peut être une réelle possibilité si vous ne choisissez pas le bon partenaire de développement de logiciel. L’essentiel est de poser la bonne question et d’obtenir les bonnes informations pour vous aider à faire le choix qui convient le mieux à un jouet. Vous devez choisir un partenaire de développement qui ne se contentera pas de faire le travail, mais qui comprendra votre activité et gardera vos meilleurs intérêts au cœur de chaque décision. Les questions que nous venons de vous présenter ne sont que quelques-unes des questions que vous pouvez vous poser. Nous espérons que ces questions vous aideront à choisir l’entreprise de développement de logiciels qui vous convient.