Aborder les problématiques de performance : problème technique ou humain ?

La problématique des performances est cruciale dans le monde de l’e-commerce. Aborder ce sujet maladroitement peut mettre en péril un projet. Quelles sont les techniques utiliser et quels sont les pièges à éviter ? Faut-il avoir recours à des experts techniques ou des psychologues ?

La problématique des performances est cruciale dans le monde de l’e-commerce. Aborder ce sujet maladroitement peut mettre en péril un projet.

Quelles sont les techniques à utiliser et quels sont les pièges à éviter ?

Faut-il avoir recours à des experts techniques ou des psychologues ? Des mauvais temps de réponse sont synonymes de perte de clients et donc de chiffre d’affaires. Mon client, un acteur majeur du retail, a rencontré récemment des problèmes de performance suite à la refonte de son site e-commerce, réalisé avec SAP Hybris. La première étape a été bien entendu d'enregistrer des métriques afin de déterminer où se situaient les obstacles. Il a vite été évident que notre plus gros problème était au niveau du nouveau moteur de promotion d'Hybris basé sur Drools. Notre réaction initiale, humaine, a été d'incriminer la solution et Drools. Cela s'est finalement avéré très peu constructif. Grâce à l'accompagnement d'experts SAP Hybris nous avons pu prendre du recul sur le design de notre solution. Au lieu de se lancer dans un défi risqué d'optimisation du moteur de promotion ou d'infimes parties du code, nous avons remis en question l'ensemble de nos choix d'implémentation. Cette décision, difficile à prendre car elle nous met face à nos erreurs et nos choix initiaux, s'avère être en réalité très bénéfique pour le projet. Cette prise de recul nous a permis de repenser notre design et d’arriver à une solution viable tout en continuant d'utiliser Hybris - avec des fonctionnalités telles que les prix et les réductions – ainsi que son nouveau moteur de promotion.

Les tirs de performance constituent une étape essentielle dans la gestion des problèmes des performances.

Cette phase, souvent mal abordée, peut être critique pour le projet. Initialement nous avions déterminé des volumétries et des scénarios censés représenter la réalité des parcours clients. Les premiers résultats se sont avérés catastrophiques... Encore une fois, la nature humaine nous pousserait à inculper la qualité du code de prime abord. On peut suivre naïvement cette voie et dépenser énormément d'énergie dans des micro-optimisations finalement sans réel bénéfice. Au lieu de cela, nous avons challengé nos scénarios et nos volumétries. Nous avons alors constaté que les résultats de nos premiers tirs n'étaient pas viables et représentaient finalement des cas absurdes. Après un travail d'analyse nous avons complètement revu nos scénarios et sommes arrivés à des temps de réponse beaucoup plus rapides, et ce sans avoir modifié le code ! La solution SAP Hybris est actuellement utilisée par de nombreux grands comptes de divers secteurs. Elle offre, out-of-the-box, de nombreuses fonctionnalités et possibilités de customisation. Néanmoins cette solution a ses limites et ne peut bien entendu pas répondre aux exigences de tous les clients, de tous les marchés, sans être personnalisée. Étant donné que SAP Hybris est une solution propriétaire, customiser son noyau peut s'avérer très risqué voire déconseillé par l'éditeur. Nous avons eu la chance de pouvoir travailler en collaboration avec les experts SAP afin d'apporter des optimisations viables à nos customisations et au noyau de Hybris. Cette relation gagnant-gagnant, nous offre l'opportunité de profiter des optimisations expérimentales sur lesquelles la R&D de Hybris se penche et, de leur côté, elle permet de tester dans un environnement réel la viabilité de leurs évolutions.

Travailler sur la performance c'est également travailler sur soi-même

C'est savoir remettre en question le code sur lequel on a œuvré pendant des semaines voire des mois. C'est savoir dire "on jette tout, on refait". C'est également savoir prendre du recul et réfléchir aux différentes possibilités que la solution pourrait offrir. Comme le montre l'exemple des tirs de performance, il faut savoir remettre en question des "vérités" sur lesquelles on se base. On peut facilement oublier la réalité et se fourvoyer dans des développements obscurs parce que tel outil a connu un ralentissement. La source du problème peut être bien différente et c'est bien elle qu'il faut trouver et traiter ! Enfin c'est une opportunité formidable pour mieux connaître la solution sur laquelle on travaille en explorant, avec l'aide d'experts, des sentiers peu connus. Cette collaboration, pour un consultant comme moi, donne foi en la solution, en voyant les efforts et les futures améliorations que la R&D nous promet.