Je n’avais pas 6 ans lorsqu’est sorti le célèbre livre à succès « Tout se joue avant six ans », écrit par un psychologue américain, et dont l’idée force est que les premières années d’une vie déterminent la personnalité d’un individu et conditionnent très fortement ses relations futures. Ce ne sera pas mon propos de débattre sur la durée critique exacte, ni sur la capacité d’inverser les choses ultérieurement, mais le point à en retenir et qui me semble bien réel, est que ce qui se passe au tout début de notre vie va influencer très fortement la suite.
Etant de nature optimiste, je crois au fait de pouvoir inverser une tendance, même après un démarrage difficile. Mais il est établi que cela nécessitera un effort d’autant plus important que ce changement interviendra tard. C’est un point que je trouve en partie transposable aux projets informatiques, particulièrement en matière de développement logiciel. Un projet mal ficelé en amont, mal défini ou mal démarré, aura beaucoup de difficultés à être redressé et cela part de la définition même du besoin, comme expliqué ci-après.
Chez SoftFluent, nous disposons d’une très forte expérience et d’un haut niveau d’expertise en réalisation d’applications sur mesure et en création de logiciels. Le parcours des associés est ancré autour de ce métier dans des univers technologiques variés depuis plus de 30 ans. Lors de la création de la société, nous avons naturellement fait le choix de positionner SoftFluent sur l’expertise technique, en particulier autour de la plate-forme de Microsoft, l’environnement de développement que nous maitrisons le mieux. Nous accompagnons depuis avec succès, des clients entreprises et éditeurs de logiciels dans la réalisation de leurs projets de développement, du conseil ponctuel jusqu’à la réalisation complète d’applications ou de modules de produits logiciels.
Notre très forte pratique de l’audit , incluant des « due diligence technologiques » menées pour des investisseurs, nous a amené sur des environnements technologiques de plus en plus variés. S’il est toujours nécessaire de disposer d’un expert spécialisé pour analyser le code et l’implémentation, on constate que beaucoup de choses sont communes en matière d’organisation, de conception, de méthodologie, de processus et même d’architecture applicative. Les bonnes pratiques sont relativement communes et nous intervenons depuis de nombreuses années dans des environnements technologiques très variés en matière d’audit (.NET certes, mais aussi C++, Delphi, Java, PHP ou même encore des environnements plus anciens tels que Fortran ou Uniface, sans compter les multitudes de frameworks Javascript). Le conseil technologique en matière d’application s’étend bien au-delà de la seule expertise autour du code et des langages.
Néanmoins, ces activités restent articulées autour du métier même de la réalisation d’applications sur mesure, et de tout le savoir-faire associé. Pourtant, l’expertise technique, si elle est une condition nécessaire du succès, n’est pas pour autant suffisante. Cela recoupe les conclusions de mes confrères de sociétés technologiques, que je partage en tant que président de commission, initialement à l’AFDEL devenu TechInFrance, puis aujourd’hui au niveau de la commission « Recherche et Innovations » de Numeum.
En réalité, le succès d’un projet de développement dépend aussi de manière déterminante d’un tout autre paramètre, en partie extérieur aux équipes de développement, mais qu’il nous semble indispensable de considérer avant toute chose lors du développement d’une nouvelle application : l’alignement avec le besoin.
J’avais écrit, il y a de nombreuses années déjà, le livre blanc « Evaluation de la performance des équipes de développement », et ce critère apparaissait comme le premier élément clé :
Comme le montre le graphique ci-dessus, illustrant 3 équipes distinctes plus ou moins alignées sur l’axe du besoin, celui-ci est déterminant, car même si l’équipe mal orientée est plus productive, elle ne parviendra pas à créer assez de valeur sur la projection horizontale, sans compter le coût de maintenance d’une base de code alourdie.
Ce point a aussi la particularité de ne pas dépendre exclusivement de l’équipe de développement au sens large. Certes, celle-ci doit jouer un rôle proactif dans le cadrage de l’équipe qui définit le produit, mais cette équipe, et notamment le « product owner » dans une terminologie agile, est en première ligne en matière de responsabilité. Et celle-ci se présente très différemment qu’il s’agisse d’utilisateurs en direct dans le cas de petites entreprises, d’une équipe d’AMOA structurée dans des entreprises plus grandes ou d’une équipe de « product marketing » chez un éditeur de logiciels. Et il convient de l’étendre en responsabilité à toute l’équipe de la direction « Métier », si ce n’est à la direction générale selon la taille de la structure.
La meilleure équipe de développement du monde, avec les bonnes pratiques de code et d’organisation, ne pourra pas réussir si le besoin n’est pas bien défini, communiqué, identifié ou arbitré dans ses décisions majeures. La plus grande efficacité de l’équipe de développement viendra des éléments qu’on s’abstiendra de coder ! C’est un peu schizophrène pour une équipe de développement, de pousser à développer au minimum, mais c’est pourtant bien ce qu’il faut faire.
Si vous laissez par exemple des équipes techniques vous définir cela sans cadre financier, il y a de bonnes chances que vous conceviez une « Rolls » qui couvrira des besoins très avancés, mais sera peut-être disproportionnée vis-à-vis de votre budget. Et cela est normal, une équipe technique va toujours vous proposer la solution de meilleure qualité sur un périmètre le plus complet possible. En cadrant cet effort selon les attendus réels de votre marché, vous optimiserez votre retour sur investissement. Si vous demandez à un passionné de voiture de vous conseiller, il vous suggèrera toutes les options, mais il est probable que certaines vous soient nécessaires, d’autres moins.
De manière concrète, cela revient à orienter les travaux de réalisation sur les fonctionnalités qui amèneront un vrai retour sur investissement, en matière d’automatisation des tâches du métier ou d’aide à la prise de décision. Et clairement, ces éléments ne peuvent être réellement connus, mesurés et arbitrés que par une personne du métier que l’application essaie d’automatiser ou d’enrichir. Et il vaut souvent mieux démarrer avec l’essentiel pour ajouter ensuite les compléments, ce qui est en général aisé à faire en informatique. Cela aide aussi à concentrer la conception du système sur les points les plus structurants. L’ensemble pourra être étoffé et renforcé par la suite.
Nous recevons souvent des demandes de développement d’application, sans que ce point soit parfaitement compris ou maitrisé par nos interlocuteurs, notamment dans des petites ou moyennes entreprises, ou dans les départements métiers de certaines plus grandes organisations, et ce, d’autant plus que les besoins en digitalisation explosent et dépassent largement les ressources disponibles.
C’est pourquoi nous lançons aujourd’hui « Abeee Consulting », une marque spécifique destinée à promouvoir le travail fonctionnel en amont des projets de développement. Inspirée des abeilles dont le travail est axé sur l’organisation, la collaboration, la connaissance terrain, et à l’instar de la pollinisation, Abeee Consulting fait le lien entre les acteurs du métier et les experts technologiques pour la réussite les projets de développement informatiques.
Les 3 ‘E’ marquent la volonté de commencer par écouter les utilisateurs pour exprimer le besoin clairement puis exécuter afin d’arriver à une solution opérationnelle.
Cette marque est développée et portée chez nous par la filiale SoftFluent Digital qui a vocation à travailler de concert avec les métiers, en partant du besoin fonctionnel, afin de proposer des solutions optimales en matière de valeur ajoutée, de délai et de coût de réalisation, selon le besoin ajusté en étroite collaboration avec des donneurs d’ordre non techniques.
La société s’est étoffée pour ce faire de profils spécialisés : business analystes, product owners et chefs de projets digitaux en particulier. De plus, cette approche nous permet naturellement d’envisager toutes les solutions possibles, incluant des solutions « low code/no code » dans les cas les plus simples. Ces outils permettent de réaliser des applications de complexité raisonnable et dans tous les cas, ils peuvent être utiles pour prototyper les besoins les plus complexes en phase de conception. Enfin, selon le besoin qualifié, il pourra s’avérer avantageux d’intégrer des briques déjà réalisées ou des produits progiciels tiers, en ne développant sur mesure que les parties nécessaires.
Afin de démarrer selon la démarche la plus appropriée, et pour revenir au titre de cet article, Abeee Consulting se propose de cadrer votre projet en 6 jours, afin de le lancer sur la bonne trajectoire et lui donner toutes les chances de succès. Concrètement, il s’agit d’une semaine de travail d’un consultant vous aidant à cadrer le besoin fonctionnel, à laquelle s’ajoute une journée de niveau direction, pour une prise de hauteur sur l’approche et la méthode qui sera retenue au sortir de cette semaine décisive. On se rapproche ici du principe du Design Sprint.
Cette offre de cadrage traduit la génétique d’Abeee Consulting, dont la volonté est de vous apporter rapidement des solutions pour réussir dans votre métier, en vous aidant à vous différencier par la créativité de vos nouveaux concepts, tout en garantissant une mise en œuvre basée sur la solidité et l’efficacité reconnue depuis longtemps des équipes du groupe SoftFluent.
Et souvenez-vous, tout se joue avant 6 jours ! Alors mettez toutes les chances de votre côté pour réussir.