Labelia (ex Substra Foundation)

View Original

Comment créer un produit que la communauté aime ?

Cet article de blog présente une première approche opérationnelle de Product Management pour le framework open source Substra. Cette approche est amenée à évoluer dans le temps afin de répondre au mieux aux besoins et à la vision de la communauté. Elle est toutefois une première pierre fondatrice destinée à enrichir notre communauté et ses modes de fonctionnement. Elle se repose sur les meilleures pratiques de l’Open Source, en particulier celles de la Fondation Apache. 

Photo by Sneaky Elbow on Unsplash

Le Product Management en Open Source  

Le Product Management n’est pas un domaine récent, mais il devient très en vogue, mis en avant particulièrement grâce à l’univers des Startups, du SaaS et du succès des GAFAM. Il bénéficie d’une littérature riche et d’une communauté organisée qui se regroupe à l’occasion de nombreux événements à travers le monde.

A titre d’exemples, on peut citer : 

On peut également noter l’essor des méthodologies Agile. Qu’elles soient mises en avant par des cabinets de conseil ou directement implémentées au sein des DSI des grands groupes, elles contribuent à une culture produit croissante dans de nombreuses organisations.  

Mais comment se matérialise le Product Management pour un projet Open Source ? Que signifie le Product Management lorsqu’il n’y pas de “ressources” à allouer comme au sein d’une entreprise, mais une communauté de développeurs passionnés et d’organisations souhaitant contribuer ? Qu’implique “écouter le client” quand la notion de client est atténuée voire effacée au profit là encore des besoins d’une communauté dynamique et non fixe ? Que représente la définition d’une roadmap quand la vision produit est partagée par des acteurs aux intérêts différents ? 

Les ressources sont peut-être moins visibles et connues pour des personnes ne s’intéressant pas à l’Open Source, mais elles sont loin d’être inexistantes et surtout de grande qualité. En témoigne par exemple :


Le framework Substra est jeune et porté principalement par son premier contributeur Owkin, start-up spécialisée en machine learning dans le domaine médical, qui dédie une équipe technique au développement de la première version du framework. Mais, il est dès à présent nécessaire d’élaborer une approche processus et produit sur la base de valeurs fortes de l’open source : transparence, construction de consensus et mérite.

Photo by Andrew Neel on Unsplash

Le “Map” et le “Craft” 

Zéro Ego

Contrairement au Product Management habituel, le PM dans l’Open Source doit être totalement dépersonnifié : le Product Management, c’est la communauté ! 

Pour ceux qui ont eu l’occasion d’être product manager et de gérer de A à Z une vision produit, une roadmap, cette perte de pouvoir peut être déstabilisante, mais c’est également l’occasion de gagner en cohérence et en qualité : il devient “mécaniquement” plus difficile de complètement rater une feature, prendre en compte un besoin qui n’existe pas, d’être complètement à côté de la plaque quand c’est une communauté ensemble qui décide.  

C’est pour cela que le Product Management du framework Substra s’organise autour de deux principales instances communautaires, le “Map” et le “Craft”

Le Map

Le Map est l’instance dédiée à suivre les besoins et les demandes de features exprimés par les différents membres de la communauté.

Elle est en charge de : 

  • Identifier et collecter les besoins et demandes de features au fil de l’eau.

  • S’assurer la bonne expression et compréhension de ces besoins par la communauté.

  • Définir parmi ces besoins exprimés lesquels sont davantage “prioritaires”, dans le sens le plus souhaitable pour l’évolution du framework. 

Cette priorité est définie à l’aide de l’évaluation autour de 5 critères principaux : 

  • Le bon fonctionnement du framework et la facilitation de son usage ;

  • La contribution aux concepts de Data Science Responsable et de Confiance ;

  • L’intensité du besoin exprimé par la communauté et de potentiels utilisateurs du framework ;

  • L’absence de solutions technologiques existantes dans l’écosystème ; 

  • La visibilité et mise en avant du framework et de ses contributeurs.

Les besoins et demandes de feature sont exprimés au fil de l’eau sur le dépôt Github à travers les issues créées. L’ouverture d’une issue est libre et à la main de toute personne souhaitant exprimer ce besoin, mais se doit de respecter un certain formalisme. Substra Foundation est en charge de s’assurer auprès du demandeur que ce besoin est clairement exprimé. 

Un certain nombre de besoins ont déjà été identifiés (packaging d’installation, possibilité de preview sur les données, mise en place de pré-processing de données…). 

Le Map est une instance animée autour d’un comité trimestriel de deux heures. La fréquence et la durée pourront être revues en fonction de l’évolution des besoins exprimés. 

Ce comité est organisé et préparé par Substra Foundation. Il est ouvert à tous les membres de la communauté souhaitant y participer. 

Chaque comité aura pour but d’obtenir un consensus autour d’une ou deux features jugées comme prioritaires, qui seront poussés auprès de la communauté.   

Le Craft 

Le Craft est une instance technique dédiée à identifier au sein de la communauté qui travaille sur quel sujet. 

Elle est en charge de :

  • Identifier les features qui sont en cours d’élaboration par les développeurs de la communauté, les “crafters”.

  • Proposer et d’animer des collaborations techniques entre différents membres de la communauté lorsqu’ils travaillent ou ont travaillé sur des sujets proches.

  • Diffuser à intervalle régulier, en lien avec le Map une vision Roadmap de l’évolution du framework.

  • Promouvoir la mise en open source des features développés par les “crafters” 

Le Craft est animé par un coordinateur de Substra Foundation, en charge de faire le lien avec l’ensemble de la communauté de crafters. 

Le Craft se réunit également au sein d’un comité de crafters dont la fréquence et les modalités restent à définir.

 

Photo by Ashley Gerlach on Unsplash

Contribution et évolution du framework Substra

Le framework Substra a été développé par Owkin et publié sous licence Apache 2.0

Chacun est ainsi donc libre de contribuer au framework à travers différents aspects :

  • Remonter un bug.

  • Proposer des améliorations au framework.

  • Proposer des nouvelles features. 

  • Proposer d’améliorer la documentation du framework.

  • Revoir une contribution au code. 

  • Voire effectuer une contribution au code !

Ces contributions doivent s’effectuer dans le cadre qui a été défini et que vous pouvez retrouver dans le guide de contribution.  

Lorsqu’une contribution au code est réalisée par un membre de la communauté, celle-ci est validée selon une gouvernance qui a été définie, qui se compose de “maintainers” et “d’administrateurs” des dépôts Github. Une contribution doit être revue et validée par un maintainer pour être intégrée au framework général. 

L’attribution de ces rôles s’effectue au mérite, selon des principes similaires à ceux mis en place par la fondation Apache. Lorsqu’un membre de la communauté a fortement contribué au code, il peut aspirer à devenir maintainer. Les mainteneurs et administrateurs actuels sont les premiers contributeurs clés de Substra Foundation, principalement travaillant au sein de l’équipe de développement de Owkin. 

Let’s get the party started!

Toutes les réponses ne sont pas encore là. Cette première organisation produit du framework Substra s’appuie sur des références, des bonnes pratiques, mais c’est à l’oeuvre du temps que des fondamentaux se consolideront, qu’une personnalité et une culture commune émergera, et que l’organisation trouvera le rythme qui conviendra à toute sa communauté. 

Le framework Substra entre dans une période excitante et enthousiasmante : la communauté grandit et va continuer de grandir, les idées vont se confronter, les problématiques vont émerger, les esprits vont se rencontrer. 

Le premier comité Map aura lieu prochainement. L’occasion de poursuivre l’exploration, de tester, de corriger … On a déjà hâte d’y être ! 

Vous souhaitez en être aussi ? Rejoignez le slack de Substra Foundation dès à présent pour rencontrer et rejoindre la communauté !