Bonjour à tous
Voilà je viens vous faire part d'un sujet de nombreux débats dans mon organisation actuellement entre moi (directeur technique) et mes associés (essentiellement commerciaux).
Je vous explique le probleme et je suis sur que nombre d'entre vous se reconnaitront dans mes paroles:
Nous avons une application web qui devrait offrir à terme de nombreuses fonctionnalités à nos utilisateurs (notamment au niveau du cloud computing).
Nos ressources humaines sont limitées, et nos contraintes temporelles sont assez fortes.
Le sujet qui revient de nombreuses fois avec mes associés est :
Ce genre de messages a le don de m'exaspérer, mais j'essaye de rester calme au possible et d'expliquer pourquoi l'utilisation d'applications tierces n'est pas une bonne idée. Évidemment, mes associés n'en démordent pas et reviennent régulièrement me bassiner avec des applications tierces sorties de nulle part.Regarde cette application, c'est génial ça fait tout ce qu'on veut, il faudrait l'intégrer à notre application. Ou alors faire un lien entre les deux.
Leur argument principal pour l'utilisation de telles applications est bien entendu le gain de temps, et donc d'argent.
Cela étant, au fond de mon ame de développeur et fort de mes expériences passées, je sais d'ores et déjà que c'est une très mauvaise idée. Je leur explique à chaque fois mes arguments mais ils reviennent toujours à la charge.
Donc je me dis "Peut-être que je me trompe? Peut-être ne serait-ce pas si mal que cela finalement ?"
Ou encore "Est-ce que je m'explique mal? Ne comprennent-ils pas avec les arguments que je leur expose?"
J'ai donc aujourd'hui décidé de venir vers vous, vous présenter les arguments que j'utilise pour leur expliquer mon point de vue, et j'aimerais que vous me donniez votre opinion sur la réutilisation d'applications au sein de sa propre application, pour ou contre, tous les avis m'intéressent, car après tout, peut être suis-je dans l'erreur !! Je ne suis pas totalement fermé non plus à l'utilisation de telles applications !!
Je précise qu'il faut distinguer librairies, serveurs et applications. Je suis à 100% pour l'utilisation de librairies et de serveur existants (pas besoin de réinventer la roue), mais contre l'utilisation d'applications entières (exemple: Google docs, s'il était open source).
Donc voici mes arguments contre l'utilisation d'applications tierces:
- L'utilisation d'une application tierce peut faire gagner du temps au départ, mais lorsque l'ajout de nouvelles fonctionnalités sera requis, on sera dépendant de l'application tierce. Ou encore, si l'application est opensource, on devra s'approprier le code l'application, ce qui peut être long et fastidieux
- Le projet perd de son identité, l'utilisation d'applications tierces reviendrait à créer un patchwork d'applications existantes, s'apparentant à du bidouillage peu stable et peu fonctionnel. De plus on se retrouvait avec des estampilles "Powered by" un peu partout
- Pour le client final, la question pourrait se poser de savoir pourquoi ils nécessiteraient notre application lorsqu'il ne s'agit que d'une application tierce légèrement modifiée, gratuite, et dont leur administrateur système pourrait tout aussi bien installer sans notre aide
- L'application tierce ne répondra jamais à 100% aux besoins de l'utilisateur
- Le temps de configuration, d'installation, de développement nécessaire à la compatibilisation de l'application tierce avec notre propre application pourrait s'avérer très élevée, voire même plus élevé que de développer l'application tierce nous même
Voilà mes principales raisons. Encore une fois je le répète je ne viens pas chercher ici de l'eau à ajouter à mon moulin et je peux me tromper, je souhaite simplement avoir l'avis d'autres développeurs sur ce sujet !!
Merci de votre participation !!
Partager