Aller au contenu principal
SIMBIOS

Comme vous le savez si vous lisez ce blog de temps en temps, le numérique a un impact important sur l’environnement. Cet impact est généralement peu visible car relativement indirect. Si la grande majeure partie des impacts provient au niveau des fabricants (électricité, équipements numériques…), les utilisatrices/eurs doivent également prendre leurs responsabilités et modérer leurs usages.

Mais il reste une troisième partie prenante : les éditeurs de logiciels. Leur rôle est central pour réduire l’impact environnemental et ce sont à ces professionnels que cet article s’adresse.

Cet article s’adresse aux personnes familières avec les méthodologies agiles. Malgré mes efforts de vulgarisation, il va rester beaucoup de jargon de l’univers tech… je m’en excuse d’avance.

Méthode générale d’éco-conception

Au-delà du numérique, l’éco-conception s’applique à de nombreux secteurs et s’appuie sur un cycle simple :

  1. Mesure globale : identification des plus gros impacts (audit environnemental)
  2. Indicateurs : mise en place des indicateurs de performance environnementale
  3. Planification : proposition des pistes d’amélioration
  4. Réalisation : application des optimisations
  5. Vérification : mesure en suivant les indicateurs
  6. Célébration : communication et célébration

Comme il s’agit d’un cycle, après l’étape 6, on recommence soit en faisant une boucle complète, soit en reprenant là où il reste des choses à faire. Par exemple, on peut avoir plusieurs propositions d’amélioration. On en priorise une et on la réalise. Une fois terminée, on peut passer à la suivante sans refaire tout le processus de mesure globale (qui peut être assez lourd).

Cette démarche est d’autant plus efficace si elle entre dans les valeurs de l’équipe qui est concernée. Il est donc important de veiller à sensibiliser et former l’ensemble des parties intégrées à la création du bien ou service.

Cette méthode fonctionne parfaitement dans le cadre du développement d’un service numérique. Toutefois, il vient proposer une itération qui s’ajoute aux itérations existantes des méthodes agiles.

Or il est tout à fait possible d’insérer l’éco-conception pour que la sobriété et les impacts environnementaux soient pris en considération “by design” (c’est-à-dire qu’ils fassent partie de la méthodologie et deviennent incontournables).

Audit environnemental

La première étape du cycle d’éco-conception est très importante. Elle permet de garantir que les actions ont un réel sens et un impact quantifié.

Réalisation de l’audit

On réalise généralement une Analyse du Cycle de Vie ou à défaut un Bilan Carbone. Dans le cadre du numérique, il est également possible d’utiliser un des outils pour réaliser cet audit :

  • Utilisation d’un référentiel ( RGESN , GR-491 …). Il s’agit plus d’un audit de maturité, mais ils peuvent également servir de base de travail.
  • Resilio Tech (ACV en autonomie)
  • Sopht (outil complet payant)
  • Fruggr (à tester)
  • MonACVnumérique (ACV très simplifiée)
  • Ecoindex (pour les petits sites)
  • Creedengo (analyse code)

Indicateurs environnementaux

L’audit environnemental doit permettre de mettre en avant les indicateurs environnementaux pertinents pour le service numérique étudié. Pour vous aider, Boavizta propose une base de données assez fournie avec des exemples d’indicateurs “Numérique Responsable”. Voici quelques exemples :

  • Consommation électrique des terminaux
  • Rétrocompatibilité des terminaux
  • Charge CPU des serveurs
  • Volume de données échangé par le réseau
  • Taille des pages (en ko)
  • Durée de vie moyenne des terminaux
  • Impacts environnementaux du mix électrique
  • Durée du parcours utilisateur

Certains éléments de cette liste peuvent vous paraître surprenants. Tous les indicateurs ne sont pas pertinents en fonction du service audité. Dans le contexte d’un audit, on comprend généralement mieux pourquoi l’indicateur est pertinent.

Application au sein d’une méthode agile

De manière générale, je définis l’éco-conception appliquée aux services numériques avec cette phrase :

Les impacts environnementaux d’un service numérique sont tolérés uniquement parce ce dernier apporte de la valeur aux utilisateurs/trices.

A retenir :

  • les impacts environnementaux seront toujours là. On ne peut que les minimiser
  • un service numérique n’a de sens que s’il apporte de la valeur aux utilisateurs
  • ce sont bien les utilisateurs qui jugent de la pertinence d’un service et non les décideurs ou les clients.

Cadrage

Comme tout projet, avant de se lancer dans le développement d’un service numérique, il faut réaliser un cadrage qui va permettre d’établir la vision. À ce titre, il est important de définir dès le commencement les exigences en termes d’impacts environnementaux.

Stratégie

Le service numérique va forcément être sujet à de nombreuses contraintes :

  • sécurité
  • législation
  • budget/délai
  • impact environnemental

Autant que possible, il est intéressant de lister les contraintes et de travailler sur ce qui est acceptable et ce qui ne l’est pas, de commencer à prioriser les contraintes (que faire si une contrainte vient s’opposer à une autre ?).

Il faut également assurer les grandes lignes de stratégie environnementale :

  • Comment mesurer les impacts environnementaux ?
  • A quelle fréquence on réalisera un audit environnemental ?
  • Quelles limites sont tolérées ?

Raison d’être

Il s’agit probablement de l’étape la plus importante du cadrage, elle est malheureusement souvent négligée. Pourtant elle est également primordiale pour une application saine des méthodes agiles.

Il s’agit ici d’expliquer à quoi et à qui doit servir l’outil numérique envisagé.

L’idée est d’avoir une phrase assez simple résumant le besoin rempli. On se place d’un point de vue utilisateur et on commence par un verbe à d’action pour préciser le fonction.

Si on prend l’exemple d’un site de vente de billets de train cela pourrait être : Vendre des billets de trains OU Trouver des solutions de voyages bas carbone de porte à porte On voit que les deux raisons d’être ne vont pas amener le même service final à l’utilisateur.

On cherche ensuite une manière de quantifier à quel point le service répond à cette raison d’être. Pour l’exemple proposé plus haut, dans un cas, cela pourrait être le nombre de billets de trains vendus et dans l’autre la quantité d’émissions de CO2eq évitée. C’est ce qu’on appellera le flux.

Enfin, on peut également chercher à quantifier la future performance du service numérique avec des indicateurs. Cela peut être le taux de conversion, la durée passée pour réussir son usage ou des indicateurs déclaratifs.

La raison d’être est primordiale par la suite pour s’assurer que l’ensemble des fonctionnalités qui seront développées viennent effectivement servir les utilisateurs finaux. Toute fonctionnalité ne servant pas la raison d’être ne doit jamais voir le jour.

Par exemple si votre raison d’être est de vendre des billets de train, vous ne pouvez pas proposer de location de voiture à l’arrivée.

Pour être efficace, la raison d’être doit être connue et acceptée par l’ensemble des parties prenantes.

Fin de vie

Avant même de commencer le développement, il est utile de commencer à planifier le décommisionnement du service numérique. Cela inclut :

  • Quelles raisons peuvent entraîner la fin de vie du service (ex : seuil pour le flux d’utilisation, mauvaise performance, arrivée d’un outil de remplacement…)
  • Ce qu’il faudra faire pour décommisionner le service
  • Qui sera responsable du décommissionement
  • Quel sera le budget associé

Exemple

Vous trouverez la plupart de ces informations pour le site Simbios.fr dans la déclaration d’ecoconception.

Approche itérative

L’approche itérative proposée par l’ensemble des méthodes agiles est la clé de voûte de l’éco-conception. Pour écoconcevoir, il faut constamment s’assurer que le service numérique répond à un besoin utilisateur. C’est l’obsession en commun que doit avoir tout agiliste et toute personne concernée par l’éco-conception.

Les méthodes agiles ont ce réel souci de proposer des cycles courts pour vérifier régulièrement l’adoption par les utilisateurs. De même la démarche générale en itération propose de nombreuses interactions avec les utilisateurs ou leurs représentants que ce soit :

  • au niveau des tests utilisateurs
  • avant les mises en ligne avec les démonstrations ou sprint reviews
  • une fois les fonctionnalités en ligne avec les analytics

Il s’agit donc d’appuyer cette démarche qui est d’autant plus importante que la valeur utilisateur est la seule justification possible des impacts environnementaux.

Rituels

La plupart des méthodes agiles proposent des rituels avec des petits moments partagés par l’équipe de développement et quelques parties prenantes. Ces rituels peuvent également appuyer la démarche d’éco-conception s’ils incluent des discussions en rapport avec les impacts environnementaux.

  • Lors des Daily stand-ups, on peut par exemple afficher l’indicateur environnemental qui est actuellement suivi.
  • Les rétrospectives peuvent permettre de prendre du recul pour mesurer l’impact du sprint achevé sur les indicateurs environnementaux. Cela peut également être le moment pour célébrer les belles réussites.
  • Enfin les Sprint reviews ou démonstrations doivent permettre de sensibiliser sur la démarche et de mettre en avant les raisons qui ont poussé telles ou telles décisions.

Il est également possible d’ajouter des rituels dédiés à l’éco-conception. Pourquoi ne pas proposer un “Sprint pour la planète” de temps en temps avec focus sur l’éco-conception ? Ou alors un hackathon dédié à l’éco-conception tous les trimestres ?

Process

Dans les méthodes agiles, les process sont structurés avec pas mal d’outils. L’idée est d’ajouter des critères ou indicateurs environnementaux un peu partout.

Priorisation

Généralement, on priorise les développements qui font être réalisés en fonction de la valeur apportée et de l’effort demandé (souvent exprimée en story points, parfois en jour.homme ou même en euros). Parfois on ajoute d’autres indicateurs (ex: risques).

Première action concrète : la valeur d’un développement est souvent appelée “business value”. Or, l’idée de l’éco-conception est d’apporter de la valeur à l’utilisateur. Il convient de donc de parler de “user value”, histoire de montrer qui est au centre du process de décision.

On peut également apporter un peu de lumière sur l’impact environnemental du développement de la fonctionnalité. On peut se contenter d’un ternaire (réduction de l’impact, augmentation, neutre) voire donner de la visibilité sur l’indicateur de performance environnemental qui va être impacté. Ou alors, proposer un score environnemental estimé.

Critères d’acception

Attention, si vous avez peu de temps/moyen/ambition pour vous lancer, les critères d’acceptations sont certainement la méthode la plus rapide et efficace pour faire le premier pas.

L’idée, c’est que toute User Story doit contenir un indicateur de performance dans ces critères d’acceptation. Si vous avez formalisé vos process et que vous les suivez bien, il suffit d’ajouter une petite ligne dans la Definition of Ready d’une User Story.

Par exemple :

  • User story: ajouter une section commentaire en bas de l’article
  • Exemples de critères d’acception environnementaux :
    • la section commentaire ne doit pas dépasser 200 ko (mettre de la pagination si nécessaire)
    • la section commentaire ne doit se charger qu’une fois que l’utilisateur a scrollé en bas de l’article

Definition of Done

Il s’agit ici de lister l’ensemble des tâches qui doivent avoir été réalisées avant de pouvoir considérer qu’une tâche a été réalisée. Il faut s’assurer à ce niveau que les bonnes pratiques de développement ont été suivies, notamment en termes d’impact environnemental.

Quelques propositions :

  • les images utilisées ont bien été retaillées à la bonne dimension et compressées
  • le code est passé par une phase d’optimisation

Si vous avez besoin de plus d’idées, je vous invite à consulter la liste des 115 bonnes pratiques proposée par le Collectif Conception Numérique Responsable.

Ces bonnes pratiques doivent également faire partie intégrante de la revue de code par les pairs.

Outillage

L’idée est de choisir quelques indicateurs environnementaux et de les afficher dans les outils de tous les jours. A vous de décider lesquels sont les plus pertinents. Il est également possible de changer périodiquement les indicateurs affichés.

Quelques exemples d’outils qui peuvent être augmentés avec des indicateurs environnementaux :

  • L’intégration continue : on peut ajouter le score de qualité de code SonarQube ou Creedengo ou encore l’eco-index de certaines pages. On peut jouer le parcours utilisateur classique et vérifier les temps d’exécution… Ces tests peuvent être systématisés tous les mois, ou avant chaque mise en production.
  • L’environnement de développement (IDE) : la plupart des outils proposent des plugins qui permettent d’avoir de la visibilité sur les bonnes pratiques notamment du Green coding.
  • Le tableau de suivi (Kanban) : comme pour la priorisation, afficher les estimations environnementales dans les user story permet de rendre la démarche visible et d’ancrer les bonnes pratiques dans les valeurs de l’équipe.
  • Les tableaux de bord : vous avez sûrement mis en place des dashboards de suivis opérationnels. Peut-être même que vous partagez ces derniers avec des personnes en dehors de l’équipe de développement. C’est une place idéale pour valoriser votre démarche environnementale en y incluant les indicateurs environnementaux pertinents.

Tests et recettes

Enfin, le dernier point et pas des moindres c’est d’adapter vos tests/recettes à votre démarche d’éco-conception. Il faut s’assurer que l’expérience utilisateur soit au rendez-vous lors des recettes. En effet, une interface efficace permettra aux terminaux de moins consommer d’énergie.

De plus, il faut systématiquement s’assurer de la compatibilité du service numérique :

  • fonctionnement avec un accès internet dégradé
  • fonctionnement sur des terminaux anciens
  • adaptation à l’ensemble des tailles d’écran

Analyse des usages

Cet aspect est parfois négligé. Pourtant, il est vital de connaître les usages du service numérique pour bien l’optimiser.

  • Quels sont les appareils utilisés ?
  • Quels sont les parcours utilisateurs ?
  • Quelles fonctionnalités sont les plus populaires ?

Cela permettra de justifier ou non le développement de certaines fonctionnalités (internationalisation, recherche…). Mais surtout, cela permettra de vérifier si la raison d’être formalisée est bien réalisée par le service proposé et avec quelle performance.

Mise en action

Avantages

L’écoconception est évidemment pensée pour servir la planète et pour les humains qui l’habitent.

Mais la démarche est extrêmement intéressante également pour les utilisatrices et utilisateurs qui se trouvent au centre de l’ensemble des décisions liées au service. De plus, le travail d’optimisation va rendre les interfaces plus rapides et performantes tout en travaillant sur une expérience utilisateur.

Plus important, l’écoconception possède aussi de nombreux avantages pour l’entreprise qui la déploie :

  • maîtrise des coûts (infrastructure, développements…)
  • ouverture de nouveaux marchés : certains clients peuvent être sensibles à cette démarche, voire contraints à choisir leurs partenaires par les réglementations (loi REEN, CSRD)
  • application des contraintes légales présentes et à venir (RGAA, RGPD, REEN…)
  • marque employeur : on préférera toujours travailler pour une entreprise qui prend soin de son environnement

Résilience

L’écoconception vient également anticiper les contraintes environnementales à venir. En effet, il est probable que d’ici quelques années, les ressources nécessaires au numérique (électricité, eau, métaux…) viennent à se raréfier et à manquer (pénurie ou hausse des prix). Il convient donc d’apprendre à faire fonctionner nos services avec moins de ressources.

Petits pas

Inutile d’appliquer l’ensemble des conseils proposés dans cet article dès demain. L’idée est de réussir la mise en place de la démarche dans la durée.

Ainsi, on peut commencer avec une des propositions expliquées ici ou ailleurs. A ce stade, il vaut mieux chercher l’idée qui risque d’avoir le moins d’opposition même si son impact est minime dans un premier temps.

On prendra ensuite quelques semaines pour avoir du recul sur la démarche :

  • Est-ce qu’on a bien appliqué la proposition ?
  • Est-ce que cela pose un problème opérationnel ?
  • Peut-on s’améliorer ?

C’est à ce moment, que l’on peut décider soit de s’adapter différemment soit d’aller plus loin dans la démarche d’écoconception parce qu’on y voit un intérêt. Au fur et à mesure, on renforce la démarche, on se forme si nécessaire et on devient des expert.es.

Retour aux articles