Core Web Vitals, dont les règles de calculs accessibles publiquement étaient tout à fait appropriées. Ces métriques permettent de mesurer l’impact des performances sur l’expérience utilisateur d’un site. On y trouve par exemple le LCP (Largest Contentful Paint) qui mesure le temps de chargement de la plus grosse image.
Côté OCTO, pour mesurer l’avancement par rapport à une cible : une estimation du nombre maximum d’utilisateurs simultanés. Cet indicateur permet en pratique de mesurer la distance restant à parcourir.
Une fois les problèmes identifiés à l’aide de métriques, vient une phase de correction pour laquelle la complexité est difficilement anticipable. Les travaux correctifs suivent une approche expérimentale constante.
Il est tout à fait envisageable qu’une expérience améliore significativement les performances comme il est possible qu’elle les dégrade. Ou qu’en parallèle, une amélioration soit contrebalancée par l’ajout d’une nouvelle feature dégradant les performances.
Les deux retours d’expérience nous rassurent à propos de cette incertitude et nous donnent certains conseils pour l’accepter :
Donner les moyens aux équipes pour améliorer les performances. Les équipes de développement veulent bien faire, mais sont parfois pressées par des contraintes de temps et/ou de budget
Plus de souplesse: ne pas imposer les mêmes contraintes de planification / estimation pour les tickets contribuant à l’amélioration de la performance assure une plus grande souplesse
Déprioriser des features si besoin: se permettre de ne pas en livrer de nouvelles si elles dégradent la performance et donc le produit dans son intégralité.
Dans tous les cas, l’amélioration des performances est un compromis entre la valeur apportée et l’effort requis.
Il existe deux stratégies pour améliorer en continue la performance : donner l’ownership et la responsabilité des performances, soit à une task force dédiée, soit à chaque équipe produit. Quel pattern organisationnel choisir ?
Cette équipe, constituée d’experts, est autonome et isolée des équipes produits.
Elle intervient en mode pompier pour améliorer les performances.
Bien que cela permette une réduction de la dette liée aux performances (dette technique, écart avec l’objectif de performance à atteindre), ce n’est pas une solution viable à long terme.
Un autre pattern organisationnel consiste à donner l’ownership et la responsabilité des performances à chaque équipe produit. Comment y parvenir ?
La mise en place d'une plateforme dédiée aux performance permet de fournir l’infrastructure, l’outillage, ainsi que d’industrialiser et d’automatiser l'exécution des tirs de performance.
Un accompagnement par des experts a permis d’infuser les connaissances et bonnes pratiques dans chaque équipe produit (notamment via des formations et du pair programming). Aussi, la montée en compétence s’est faite via de la R&D et de la veille.
Une sensibilisation et une acculturation de tous ont permis d’atteindre un état d’esprit où la performance est prise en compte par plus d’acteurs (business et tech) et plus tôt, via notamment :
Il est nécessaire de donner le temps et les moyens aux équipes, afin qu’elles puissent à la fois corriger des problèmes sur leur périmètre et prendre en compte les performances dès la conception.
Nos recommandations en synthèse :
Pour aller plus loin, nous vous recommandons :