Zam


L’histoire assez personnelle d’un produit collectif.

Contexte

Je suis contacté par Raphaël il y a deux ans pour rejoindre une Startup d’État, après avoir travaillé sur datagouv pendant un temps puis avoir planté une autre startup. Dans un tel contexte, on ne sait jamais ce qui va pousser après. Dans mon cas, ça avait quand même fait germé une petite graine sur l’importance d’un·e responsable produit ainsi que la présence d’une personne ayant des compétences en UX.

Je souligne l’aspect personnel de ce retour en introduction car nous sommes aussi en train de compiler une histoire collective de cette aventure et j’espère que nous pourrons la rendre publique tant les points de vue des autres membres de l’équipe sont riches et pertinents.


Cela faisait un moment que je m’intéressais au processus législatif car il me semblait que cela était un élément clé de la démocratie. Aussi, je réponds naïvement « oui » et me voilà embarqué dans un wagonnet de montagnes russes. Enfin — canadiennes en fait — vu que nous avons pu concevoir l’intégralité du produit en étant à distance.

Première rencontre avec Mélodie le 18 avril, avec Raphaël le 17.
Première entrée dans mon journal pro, j’aime constater à quel point il a évolué dans le temps pour consigner davantage des émotions et ressentis une fois la confiance installée.

Approche

Pour tenir dans la durée, il faut réussir à trouver un rythme qui soit soutenable pour tou·te·s. En étant à distance et sur un fuseau horaire différent, cela signifie s’adapter pour trouver un créneau quotidien d’échange qui tourne autour d’une heure. C’est un moment important autant pour le travail à réaliser que pour maintenir l’humeur de l’équipe à un niveau enthousiasmant. Non pas comme une suite de sprints mais comme un ultra-marathon avec plein de pacers.

En parallèle de ces discussions, il y a nos échanges avec les personnes utilisant le produit dont l’avis est essentiel pour pouvoir continuer à être pertinents. Cela arrive environ toutes les deux semaines et nous mettons un canal de réception en place pour les personnes ne pouvant pas être sur place. C’est vraiment important pour moi d’arriver à avoir ces retours sans intermédiaires de façon à développer mon empathie pour les utilisateur·ice·s.

Tous les six mois environ (?), on prend un peu de recul sur ce que l’on a fait et compris — sur notre nouvelle façon de voir les choses aussi — pour réajuster le cap si on en ressent le besoin. Cela permet d’échanger sur des émotions qui sont passées entre les mailles du filet quotidien.

Technique

J’ai parlé un peu de technique récemment et la pile de technologies que l’on a utilisé pour ce projet me semble être relativement stable et compréhensible. Le code est accessible sur Microsoft Github sous licence AGPL-3, on peut voir que la répartition est assez équilibrée entre Ronan et moi. C’est du Python 3 annoté pour les types qui utilise Pyramid comme framework web. Rien de très exotique et c’est intentionnel considérant que nous souhaitions à un moment transmettre le produit (voir plus bas).

Il y aura toujours Bootstrap sur Zam.
Un petit mème courtesy of Maïtané 😅.

Ce qui est peut-être un peu plus inhabituel c’est de ne pas utiliser Microsoft npm pour gérer nos dépendances JavaScript, cela permet de bien voir ce que l’on ajoute, une sorte de friction (cache) manuelle qui m’est chère lorsqu’on parle de faire tourner mon code sur la machine de beaucoup d’autres.

Les principaux défis techniques ont été de gérer des données en entrée en provenance des sites parlementaires qui n’étaient pas forcément très stables. Lorsque toute la pertinence du produit repose sur la fraîcheur des données à un moment clé du processus législatif, c’est quelque peu anxiogène de se dire que l’on n’a aucun contrôle dessus !

Could not find file: fragments/Zam Transmission.md
Could not find file: fragments/Zam Satisfaction.md
Could not find file: fragments/Zam Regrets.md
Could not find file: fragments/Zam Suite.md