Case Study: Désactivation logicielle
Défi
À mesure que les produits numériques deviennent de plus en plus complexes, les développeurs soucieux du climat explorent des moyens à tous les niveaux pour optimiser les applications afin de réduire la consommation d'énergie et les coûts d'infrastructure tout en préservant l'expérience utilisateur. (link: https://www.linkedin.com/in/vincentoffroy/?originalSubdomain=fr class: mylink lang: de rel: nofollow role: button target: _blank title: Wikipédia text: Vincent Offroy) a été le pionnier du « (link: https://medium.com/@offroy.vincent.dev/soft-disabling-fr-4fe2121473ce class: mylink lang: de rel: nofollow role: button target: _blank title: Wikipédia text: désactivation logicielle) », une approche d'éco-conception qui désactive temporairement les fonctionnalités rarement utilisées après une période d'inactivité prolongée plutôt que de les supprimer définitivement. Les utilisateurs peuvent réactiver ces fonctionnalités lorsqu'ils en ont besoin, ce qui permet d'atteindre un équilibre entre facilité d'utilisation, durabilité et rentabilité. Si les fonctionnalités désactivées de manière temporaire restent inutilisées, les équipes produit peuvent envisager leur suppression définitive.
Les interfaces numériques contiennent souvent de nombreuses fonctionnalités dont l'utilisation est limitée. Chaque fonctionnalité, en particulier celles qui nécessitent des appels API, la récupération de données en temps réel ou des ressources informatiques importantes, contribue à la saturation de l'infrastructure. Cette approche résout un triple dilemme dans la gestion des fonctionnalités :
- Charge API : les requêtes réseau redondantes augmentent la charge du serveur et la consommation d'énergie
- Coûts d'infrastructure : les fonctionnalités toujours actives gonflent les frais d'hébergement et de maintenance
- Préoccupations liées à l'expérience utilisateur : la suppression pure et simple de fonctionnalités peut aliéner certains groupes d'utilisateurs
La désactivation temporaire repose sur des décisions solides fondées sur des données afin d'équilibrer ces facteurs de manière très convaincante, même lorsque les parties prenantes adhèrent peu aux initiatives en faveur du climat.
Objectifs
- Réduire la consommation d'énergie et les coûts d'infrastructure en désactivant les fonctionnalités rarement utilisées
- Préserver l'expérience utilisateur en conservant la possibilité de réactiver les fonctionnalités si nécessaire
- Fournir des informations basées sur les données pour guider le développement et la suppression futures des fonctionnalités
- Réduire l'empreinte carbone de l'application sans sacrifier ses fonctionnalités
- Créer une approche durable de la gestion du cycle de vie des fonctionnalités
Approche
La désactivation progressive introduit un mécanisme frontal adaptatif :
- Suivi de l'utilisation : mettre en place des analyses pour surveiller la fréquence à laquelle les utilisateurs interagissent avec chaque fonctionnalité, établir des modèles d'utilisation de base et identifier les candidats à la désactivation douce. S'assurer que tout suivi est conforme aux réglementations en matière de confidentialité, couvert par vos conditions d'utilisation et respecte les choix de consentement des utilisateurs.
- Processus de désactivation automatisé : créer des mécanismes pour masquer et désactiver automatiquement les ressources backend des fonctionnalités qui restent inutilisées au-delà d'un seuil défini (généralement 2 à 4 semaines).
- Réactivation conviviale : concevez des « appels à l'action » (CTA) intuitifs, tels que des boutons, qui permettent aux utilisateurs de restaurer facilement les fonctionnalités désactivées lorsqu'ils en ont besoin, avec un minimum de friction dans l'expérience utilisateur.
- Messages de sensibilisation à l'écologie : élaborez des messages subtils pour informer les utilisateurs des avantages de la désactivation des fonctionnalités en termes de durabilité, afin de favoriser la compréhension, l'acceptation et l'appréciation.
- Tests progressifs : mettre en œuvre une désactivation progressive sur l'ensemble des fonctionnalités, en testant différents seuils et méthodes de réactivation afin de trouver le juste équilibre entre économies de ressources et satisfaction des utilisateurs.
Impact
La désactivation progressive peut offrir des avantages environnementaux et techniques significatifs :
- Améliorations techniques : réduire les requêtes API inutiles, ce qui diminue la consommation d'énergie. Par exemple, en désactivant progressivement une fonctionnalité utilisée par seulement 5 % des utilisateurs et responsable de 10 % des appels API quotidiens, Vincent estime que cette approche permettrait de réduire de 7 % la consommation d'énergie des serveurs et de 3 % les coûts de cloud computing.
- Expérience client/UX : améliorer les performances et la réactivité des applications en allégeant le chargement des pages, ce qui se traduit par une expérience utilisateur plus rapide.
- Impact commercial : réduire les coûts d'infrastructure grâce à une utilisation plus efficace des ressources et à une évolutivité plus durable à mesure que la base d'utilisateurs s'élargit. Réduire la dette technique liée à la maintenance des fonctionnalités inutilisées et générer de meilleures informations sur la popularité des fonctionnalités et les modèles d'utilisation.
- Durabilité centrée sur l'utilisateur : les utilisateurs ont le contrôle, ce qui garantit l'accessibilité des fonctionnalités tout en favorisant un engagement écologique.
- Efficacité carbone : réduire la consommation d'énergie côté serveur grâce à la diminution des besoins en calcul et ainsi réduire l'empreinte carbone de votre produit.
Points clés
- L'éco-conception nécessite un équilibre : la désactivation progressive offre un compromis entre le maintien des fonctionnalités inutilisées et leur suppression totale.
- Les décisions basées sur les données sont essentielles : le suivi de l'utilisation garantit que les optimisations sont basées sur des modèles de comportement réels plutôt que sur des hypothèses.
- Le contrôle par l'utilisateur préserve l'expérience : permettre la réactivation maintient l'accessibilité tout en encourageant l'efficacité des ressources.
- Les petites optimisations ont un impact significatif : même des réductions mineures de la consommation de ressources par utilisateur peuvent produire des gains de durabilité considérables à grande échelle.
- La durabilité peut améliorer l'expérience utilisateur : supprimer le désordre et se concentrer sur les fonctionnalités fréquemment utilisées améliore souvent l'expérience utilisateur globale.
- La communication avec les utilisateurs est importante : une communication transparente avec les utilisateurs sur les raisons de la désactivation temporaire des fonctionnalités et les avantages associés (par exemple, amélioration des performances, réduction de l'impact environnemental) peut favoriser la compréhension, l'acceptation et l'appréciation/la reconnaissance.
Prochaines étapes
Quelle est la prochaine étape pour la désactivation logicielle ?
- Développer des algorithmes d'apprentissage automatique pour prédire les seuils de désactivation optimaux en fonction des segments d'utilisateurs et des modèles de comportement.
- Étendre la désactivation logicielle à des processus backend plus gourmands en ressources.
- Créer des indicateurs plus précis pour mesurer l'impact environnemental de l'utilisation des fonctionnalités.
- Intégrer des pipelines CI/CD afin d'incorporer des indicateurs de durabilité dans les workflows de développement.
- Établir des normes industrielles pour des pratiques de gestion durable des fonctionnalités.
Conclusion
La désactivation logicielle démontre comment une conception réfléchie peut aligner les objectifs de durabilité sur les objectifs commerciaux et les besoins des utilisateurs. Il s'agit d'un excellent moyen de donner aux équipes produit les moyens d'agir grâce à une stratégie de mise en œuvre claire, fondée sur des données et hautement défendable, même lorsque les parties prenantes adhèrent peu aux initiatives en faveur du climat. En mettant en œuvre une gestion intelligente des fonctionnalités, les organisations peuvent réduire le gaspillage numérique tout en conservant les fonctionnalités et la satisfaction des utilisateurs. À mesure que les produits numériques continuent de gagner en complexité, les approches telles que la désactivation souple deviendront de plus en plus importantes pour créer des logiciels durables qui minimisent l'impact environnemental sans compromettre la qualité ou la facilité d'utilisation.