L’antisèche c’est une série d’articles qui synthétise des grandes thématiques produit pour vous éviter d’être à sec en entretiens, réunions, soirées mondaines et rendez-vous galants !
Aujourd’hui on aborde le thème des « algorithmes ».
Qu’est ce que c’est ?
Qu’ont en commun une recette de cuisine et le système de recommandation de vidéos Youtube ? Ce sont tous les deux des algorithmes !
Un algorithme est une suite d’instructions élémentaires qui permettent d’accomplir pas à pas une tâche ou de résoudre un problème. Ils ne datent pas d’hier et étaient déjà utilisés bien avant l’arrivée de l’informatique :
- Les premiers algorithmes connus étaient utilisés par les Babyloniens vers 2000 avant J.-C. notamment pour le calcul des impôts !
- L’un des algorithmes les plus connus est l’algorithme d’Euclide conçu vers 300 avant J.-C. et qui est toujours enseigné aujourd’hui après tant d’années ! Il permet de déterminer de manière pratique le plus grand commun diviseur commun de deux nombres entiers, le fameux PGCD vous vous souvenez ?
- Le terme algorithme dérive du nom du mathématicien persan Al-Khwârizmî qui a vécu vers 800 après J.-C. et qui a démocratisé l’utilisation de la numération décimale avec son ouvrage Traité du système de numération des Indiens ainsi que l’algèbre avec son ouvrage Abrégé du calcul par la restauration et la comparaison.
Aujourd’hui les algorithmes sont particulièrement populaires en informatique avec notamment l’essor de l’intelligence artificielle. Ils sont partout et gèrent de nombreux types de données : des nombres, des textes, des images, des vidéos… D’ailleurs, un programme informatique n’est rien d’autre qu’un algorithme écrit dans un langage de programmation.
Voici trois des propriétés d’un algorithme à mentionner :
- Un algorithme peut être implémenté dans n’importe quel langage de programmation
- Les instructions d’un algorithme doivent être claires, non ambigües et précises
- Un algorithme doit se terminer après un nombre fini d’étapes : pas de boucles infinies !
En quoi est-ce utile ?
Les algorithmes présentent plusieurs avantages et vous permettent, en tant que PM, de :
- Résoudre des problèmes complexes
- Automatiser des processus, les rendre plus fiables et plus rapides
- Prédire des tendances
- Comprendre les liens entre des données avec des modèles mathématiques
Comment procéder ?
Dans votre quotidien de Product Manager, vous pouvez vous retrouver à phosphorer sur des algorithmes avec votre équipe : vous êtes peut-être affairé à en créer un nouveau, à évaluer ou encore à améliorer un algorithme existant. Quoiqu’il en soit, assurez-vous que l’algorithme sur lequel vous travaillez est :
- Pertinent / performant : Un bon algorithme génère des résultats corrects avec un faible taux d’erreurs
- Efficace / frugal : Un bon algorithme génère rapidement les résultats escomptés avec des ressources informatiques raisonnables
- Simple : Un bon algorithme doit être épuré de toute complexité inutile
- Flexible : Un bon algorithme fonctionne de manière fiable même avec des données en entrée qui évoluent
- Maintenable : Un bon algorithme peut être facilement mis à jour et amélioré
- Documenté : Un bon algorithme est suffisamment documenté pour comprendre son fonctionnement et ses limites
- Sécurisé : Un bon algorithme doit protéger les données sensibles (à ce propos, les algorithmes de chiffrement RSA massivement utilisés aujourd’hui semblent vulnérables face aux ordinateurs quantiques)
Quelques exemples
Vous avez besoin d’inspiration pour mettre le pied à l’étrier ?
Il existe de nombreux types d’algorithmes dont certains peuvent faire écho à votre produit et à votre contexte : algorithmes de tri, de recherche, d’optimisation, de compression, de chiffrement, de traitement d’images, de la théorie des graphes, de classification, de régression…
L’objectif ici n’est pas de disséquer ces nombreux algorithmes dont certains ne se laissent pas facilement apprivoiser. Néanmoins, il est bon de se rafraîchir la mémoire avec l’un des plus connus et des plus utilisés, que vous avez certainement étudié à l’école et peut-être exploité dans vos produits : l’algorithme de régression linéaire.
Cet algorithme permet de prédire la valeur d’une variable en fonction d’autres variables dont les valeurs sont connues. L’article La régression linéaire avec Python : Comment ça fonctionne ? (datascientest.com) est intéressant pour manipuler ce type d’algorithme ainsi que Python par la même occasion !
Les cas d’usages liés à des algorithmes de prédiction sont nombreux : particuliers et entreprises aiment avoir de la visibilité sur l’avenir de variables, qu’elles soient physiques (ex : la hauteur de houle prévisionnelle pour connaître le bon moment pour surfer), financières (ex : le cours prévisionnel d’une action en bourse pour savoir quand en acheter), comportementales (ex : le score d’appétence d’Anémone pour investir dans des panneaux solaires)…
Il est aussi bienvenu de mentionner l’algorithme de Monte-Carlo que j’affectionne particulièrement car simple d’utilisation et utile dans de nombreuses situations : une vidéo de vulgarisation illustre cet algorithme avec le fameux jeu de dames et pourra vous aider à y voir plus clair !
Une mise en situation
Les algorithmes peuvent vous aider dans votre quotidien de Product Manager dans de nombreuses situations. En voici 3 par exemple :
- Votre produit a un taux de résiliation (churn) élevé que vous aimeriez réduire. Un algorithme peut vous aider à identifier les raisons sous-jacentes de ces insatisfactions et vous aider à prioriser des palliatifs
- Votre produit B2(B2)C a de nombreux utilisateurs particuliers qu’un algorithme peut classifier et segmenter en persona pour mener des campagnes marketing plus ciblées et personnalisées
- Votre produit a de potentielles failles de sécurité qu’un algorithme peut localiser automatiquement dans votre code (Voir notre antisèche 4 sur la dette technique)
Pour aller plus loin
Le champ des possibles des algorithmes est immense, d’ailleurs rappelons que ces derniers ne se cantonnent ni aux agents conversationnels (chatbots en anglais) ni à l’intelligence artificielle. Avoir une culture algorithmique est commode dans les métiers du produit notamment pour communiquer plus facilement avec les équipes techniques et pour résoudre des problèmes. Nous espérons que cette antisèche vous donne envie d’explorer davantage.
Voici quelques pistes pour aller plus loin :
- Why algorithms are called algorithms (Vidéo, EN)
- Harvard Professor Explains Algorithms in 5 Levels of Difficulty (Vidéo, EN)
- The Most Important Algorithm Of All Time (Vidéo, EN)
- Généalogie de l’algorithme… ses ancêtres ! (Article, FR)
- Qu’est-ce qu’un algorithme ? – Interstices – Interstices (Article, FR)
- Qu’est-ce qu’un algorithme : définition et guide complet (Article, FR)
- 5 Algorithms every Product Manager need to know about | by Ramandeep Singh | Medium (Article, EN)
À vous de jouer !