Prendre enfin de bonnes décisions collectives avec VoteIn

écrit par Rémy Villain publié le mercredi 28 novembre 2018
Aujourd'hui parlons d'un des plus gros problèmes de l'histoire de l'humanité; la prise de décision collective. Et comment le Lab Apollo a humblement apporté sa petite pierre à l'édifice de la démocratie. Oui je n'y vais pas avec le dos de la cuillère, mais laissez-moi étayer mes propos.

Le problème de la prise de décision collective

Choisir seul n'est jamais une mince affaire mais quid d'un groupe, d'une association ou d'un pays devant prendre une décision ou élire un dirigeant ? La question peut vous paraitre triviale car nous sommes habitués à des modes de scrutin qui paraissent efficaces. Mais ne vous méprenez pas, ils sont archaïques et mesurent finalement assez mal les opinions. Prenons par exemple le scrutin majoritaire, celui que nous utilisons lors de l'élection présidentielle en France. Ce mode de scrutin pose de gros problèmes, il oblige souvent à voter utile car les "petits" candidats dilluent les votes d'une même famille politique. Il nécessite deux tours, avec des incohérences manifestes quant aux candidats qualifiés au second tour. Concrètement comment justifier la présence du front national au deuxième tour alors que dans les sondages, ce parti perd en duel contre la quasi-totalité des autres candidats ?

Les modes de scrutin alternatifs

Certains mathématiciens ont travaillé et travaillent encore sur le sujet qui est en réalité une branche très active des mathématiques. Citons certainement le plus célèbre d'entre eux, Nicolas de Condorcet qui a imaginé une solution très élégante nommée scrutin de Condorcet. Le principe est simple, il s'agit d'élire celui qui gagne en duel contre tous ses adversaires. Pour ce faire chaque votant classe tous les candidats par ordre de préférence et ce classement fera office de bulletin de vote. Determiner le vainqueur se fait de la manière suivante, pour chaque candidat et chacun de ses adversaire on regarde s'il est plus souvent plus haut dans le classement. Si tel est le cas on dit qu'il gagne son duel. Cette méthode ne nécessite qu'un seul tour et est complètement insensible à une multitude de petits candidats. Seul hic, il est assez rare qu'il existe un candidat triomphant de tous les autres en duel de Condorcet. Heureusement d'autres alternatives existent et ces personnes en parleront bien mieux que moi: [embed]https://www.youtube.com/watch?v=ZoGH7d51bvc[/embed] [embed]https://www.youtube.com/watch?v=wKimU8jy2a8[/embed] [embed]https://www.youtube.com/watch?v=ODuPoepQ1tY[/embed]

Le lab

Nous sommes à l'été 2016, au moment de la création du Lab Apollo, une entité qui, non sans panache, vise à explorer des technologies et méthodologies innovantes. Les équipes d'Apollo brainstorment à n'en plus finir. Tout le monde est motivé à l'idée de trouver ce sur quoi nous allons travailler dans le cadre du Lab pour l'année à venir. Entre autres, une application d'organisation de déjeuner, un réseau social d'entreprise axé sur la collaboration et un chat bot ont été imaginés. Les idées fusent, mais il va falloir faire un choix. Certains restent accrochés à leur marotte, d'autres sont trop ambitieux ou trop frileux. Les divergences d'opinions sont parfois subtiles et on sent que la mesure de celles-ci ne pourra pas être pertinente grâce à un vote à main levée ou un vulgaire scrutin majoritaire.

Organisons un scrutin au jugement majoritaire

Nous décidons d'organiser une éléction au jugement majoritaire.  Le problème est, qu'après quelques heures de recherche, il s'avère que l'application la plus ergonomique pour créer un scrutin au jugement majoritaire est Google Forms. C'est-à-dire qu'il faut créer un formulaire manuellement, et coder les règles de calcul dans un Google Sheets. On est loin de la simplicité d'un Doodle. De ce constat nait l'idée qui va rebattre toutes les cartes de l'élection du projet phare du Lab. J'ai nommé VoteIn. Le concept est simple, il s'agit d'une application qui offre un service d'organisation de scrutin, sans inscription et clé en main. Au programme, jugement majoritaire, vote alternatif et, pour la forme, notre bon vieux scrutin majoritaire. En plus de l'utilité évidente d'une telle application, il faut reconnaitre que son implémentation ne sera pas démesurément complexe et pourra être prétexte à de nombreuses expérimentations techniques. Sans coup férir, VoteIn remporte l'élection. Pour les non initiés, ou les polissons qui n'ont pas regardé les vidéos ci-dessus, ce graphe s'interprète de la façon suivante:
  • Chaque colonne représente un candidat ou une idée de projet pour ce cas précis
  • Chaque couleur représente une mention, c'est-à-dire une appréciation qualitative du candidat
  • L'aire de chaque barre de couleur représente le nombre de votant ayant donné cette mention au candidat
  • Le vainqueur est celui qui obtient la meilleure médiane, ce qui vulgairement veut dire, celui qui déplait le moins au groupe.
Ainsi VoteIn fait consensus, maintenant il faut s'y coller.

Créons notre application d'organisation de scrutin

C'est parti, les dés sont jetés, VoteIn est en marche. Le plan d'action est le suivant:
  • Choix des technologies à explorer
  • Choix des méthodologies à tester
  • Réalisation d'une première maquette fonctionnelle
  • Implémentation des règles de calcul
  • Sécurisation
  • Diffusion
En ce qui concerne les choix techniques et l'implémentation, nous reviendrons sur certains détails dans un article à venir. Retenez simplement l'utilisation du Framework .NetCore et Angular, le tout hebergé sur une plateforme Azure. Niveau méthodologie, nous mettons l'accent sur les tests. Jetez un oeil à la série d'articles sur le sujet: https://blog.apollossc.com/tribunes/agile/lab-n1-tdd-atdd-bdd-cest-quoi-difference/

Et alors, ça donne quoi ?

Aujourd'hui, le Lab a 2 ans, et VoteIn est en ligne. https://www.votein.net Les fonctionnalités initialement prévues ont été développées. L'outil est disponible à qui veut organiser un scrutin. Je vous encourage donc à le tester en situation réelle, pour choisir un restau ou un film par exemple. Tout prétexte est bon pour faire connaitre le jugement majoritaire. Le projet n'est pas terminé pour autant, de nombreuses évolutions sont envisageables:
  • Rendre le projet Open Source
  • Diffuser l'outil dans les associations, les écoles, pour sensibiliser un maximum de monde aux nouveaux modes de scrutin
  • Créer des modules pour Trello, chatbot, ...
  • Implémenter d'autres modes de scrutin
  • Faire certifier l'application
Autant d'occasions de vous écrire de beaux articles, tenez-vous prêts.