Modernisation, remplacement ou création de logiciel… Beaucoup de projets échouent ou explosent plannings et budgets parce-qu’il leur manque certaines expertises essentielles au succès. Lesquelles ? Retour d’expérience de plus de 14 ans de pratique.
1- Traduire vos enjeux en une feuille de route avec un effort au plus juste
C’est un savoir-faire complexe que d’animer un dialogue efficace entre les représentants du métier et ceux de la technique, tout en parlant le langage du métier.
L’efficacité c’est d’abord être force de proposition sur les solutions techniques en visant à tout moment l’apport maximal de valeur et le minimum d’effort. Cela demande une connaissance pratique d’un éventail large de technologies numériques disponibles et un esprit créatif pour les appliquer aux enjeux rencontrés.
C’est ensuite d’organiser le projet dans le temps, en tenant compte des opportunités faciles à saisir (“low-hanging fruit”) et des contraintes opérationnelles, budgétaires et organisationnelles de l’entreprise.
C’est enfin de savoir impliquer les parties prenantes de façon à faire émerger les solutions, assurer l’adhésion à la feuille de route et l’alignement de tous sur le plan d’action.
2- Concevoir des solutions agiles qui ne réinventent pas la poudre, en s’appuyant autant que possible sur l’existant
Il est plus facile de jeter l’existant et de faire du neuf. Il est aussi souvent indispensable, plus économique, plus rapide et moins risqué de s’appuyer autant que possible sur ce qui existe déjà, de le moderniser, d’améliorer ses performances, son ergonomie ou sa sécurité.
Cela demande notamment de savoir s’approprier des technologies plus anciennes pour déterminer comment prolonger leur durée de vie, par exemple en les migrant sur une infrastructure moderne, en ajoutant une interface utilisateur conviviale.
C’est aussi de savoir s’appuyer très largement sur les technologies :
- open source, qui font gagner beaucoup de temps dans la réalisation de solutions numériques et qui sont libres de licences coûteuses ;
- cloud, qui apportent des services de plus en plus variés et fiables.
Comme pour l’étape décrite précédemment, une connaissance pratique de l’agilité et de la méthodologie “lean” sera essentielle pour apporter progressivement de la valeur, expérimenter à moindre coût, apprendre du terrain puis avancer à nouveau.
3- Développer des solutions logicielles qui plaisent aux utilisateurs
L’adoption réussie d’un logiciel par les utilisateurs repose sur la prise en compte simultanée de deux dimensions : l’une qui s’attache au fond (la solution est utile, comme utilisateur j’ai vraiment intérêt à l’utiliser) et l’autre à la forme (l’interface est plaisante, ludique, intuitive…)
Dans notre expérience, trois savoir faire sont notamment essentiels pour y parvenir :
- D’abord observer, écouter, et si possible co-construire avec les utilisateurs.
- Ensuite maquetter des écrans clé puis tester et améliorer l’expérience utilisateur avant et pendant le développement.
- Enfin assurer une expérience utilisateur simple et efficace en veillant à la qualité et à la rapidité des informations affichées.
4- Lever toutes les difficultés jusqu’à l’atteinte des objectifs
Le succès d’un projet numérique repose souvent sur une mise au point patiente et minutieuse de la solution, avec notamment un savoir-faire de recherche et d’investigation à 360° pour parvenir à des diagnostics et des solutions côté logiciel, côté données, côté infrastructure ou côté usages. Ce savoir-faire à 360° est souvent celui d’un collectif d’expertises complémentaires qui travaillent efficacement ensemble, expertises techniques et également d’accompagnement des utilisateurs au changement.
L’atteinte des objectifs c’est également de définir puis de suivre les indicateurs clés de succès, en étant force de proposition pour identifier des solutions de façon itérative, les mettre en œuvre puis mesurer la progression vers l’atteinte des objectifs.
5- Sécuriser le fonctionnement de vos logiciels dans la durée
Assurer une qualité de service sur la durée, réduire les risques de défaillances et réagir aux incidents avec célérité requiert des savoir-faire multiples et spécialisés, mais aussi celui d’un généraliste qui saura diagnostiquer les enjeux principaux et prescrire les solutions urgentes ou les plus importantes.
Citons quelques exemples de bonnes pratiques :
- Concevoir pour la sécurité : architecture RLS assurant un accès restreint aux données, choix d’un hébergement hyper-sécure (SecNumCloud)
- Concevoir pour la fiabilité et scalabilité : architecture assurant la redondance des éléments clés et un redimensionnement facile voire automatique des ressources nécessaires
- Automatiser l’usine logicielle pour accélérer les mises à jour et réduire les risques d’erreur ou d’indisponibilité
- Automatiser la supervision des logiciels pour repérer immédiatement ou même prévenir les pannes ou ralentissements
- Mettre en oeuvre des plans de progrès à intervalles réguliers