L'architecture de la subsomption : Comment iRobot a permis la mise en place de Scrum
Une définition simple de Architecture de la sous-consommation est disponible sur Wikipédia. Toutefois, cette définition est une version édulcorée de la réalité.
C'est comme si vous entendiez l'histoire de la quatrième main, où la compréhension devient de plus en plus faible au fur et à mesure qu'elle passe d'une personne à l'autre. Vous obtiendrez une image beaucoup plus claire en lisant le témoignage d'une personne travaillant dans le domaine - voir Contrôle des robots mobiles.
Au début des années 1990, j'ai loué des bureaux pendant quelques années à l'inventeur de l'architecture de la subsomption. Rodney Brooks et ses étudiants de troisième cycle ont utilisé ces locaux pour créer iRobot. J'ai donc été formé directement par Brooks et son équipe, qui utilisaient de vrais robots comme démonstrations de ce qu'ils disaient.
Les robots s'échappaient souvent de leur laboratoire et entraient et sortaient régulièrement de mon bureau. Les informations provenant directement de la source sont toujours plus vivantes et plus précises. Jetez un coup d'œil aux articles de Brooks sur scholar.google.compar exemple, celui-ci sur systèmes de contrôle robustes à plusieurs niveaux.
Le vendredi après-midi, Brooks passait voir son équipe. L'un de ces vendredis, j'ai demandé au professeur Brooks de m'expliquer le fonctionnement du robot (baptisé Ghengis Khan à l'époque). "C'est très intéressant", ai-je ajouté, "lorsqu'il entre dans mon bureau en essayant de me traquer avec ses capteurs infrarouges".
Crédit photo : Carlton SooHoo, PanoSpin
M. Brooks a déclaré : "Il faut d'abord que vous compreniez que cela fait 30 ans que nous essayons de construire un système intelligent au laboratoire d'intelligence artificielle du MIT et que c'est un échec total". Le mieux qu'ils aient pu faire, m'a dit Brooks, c'est un programme d'échecs intelligent.
"J'adopte donc une approche radicalement différente avec l'architecture de subsomption. Ce robot n'a pas de processeur central. Chaque jambe est équipée d'une puce qui peut la déplacer. Une puce située dans la colonne vertébrale coordonne les jambes. Une puce de réseau neuronal dans la tête détermine ce qu'il faut faire. Avant d'allumer le robot, la puce est vide. Il n'y a pas de base de données. Le monde est constitué de données et toutes les données sont créées par des capteurs."
Ils me montraient la puce vierge, la branchaient sur la tête et mettaient le robot en marche. Ses jambes commençaient à s'agiter comme celles d'une pieuvre, il se redressait, puis titubait comme un bébé qui apprend à marcher, jusqu'à ce que, quelques minutes plus tard, il se mette à courir dans la pièce.
J'ai dit à Brooks que cela me rappelait les programmeurs très lents que j'avais dans l'entreprise bancaire située en face de l'école de commerce Sloan du MIT. "Je parie que si nous donnions aux programmeurs lents quelques règles simples, comme le robot, et que chaque jour ils se réunissaient et synchronisaient leurs réseaux neuronaux, ils pourraient se transformer en une équipe super intelligente et très rapide", puis j'ai demandé : "Pensez-vous que cela fonctionnerait ? Brooks a répondu : "Je ne sais pas, pourquoi n'essayez-vous pas ?"
L'année suivante, j'ai rejoint Easel Corporation et j'ai eu ma chance. Le Scrum a démarré comme le robot.
Le Scrum est donc né d'une immersion profonde dans les travaux des principaux chercheurs en robotique et en informatique, principalement au MIT et aux Bell Labs, mais aussi de la théorie des systèmes adaptatifs complexes basée sur la simulation par superordinateur de cellules en évolution pendant mes 11 années de recherche à l'école de médecine de l'université du Colorado.
J'ai toujours été intéressé de voir les gens essayer de modifier le Scrum sans comprendre l'architecture de subsomption. C'est comme si un homme des cavernes tombait sur un smartphone et essayait de le réparer.
Je me souviens d'un vice-président de l'ingénierie dans la Silicon Valley qui m'a dit à l'époque de la réunion du Manifeste Agile, peut-être même avant. "Le Scrum est la plus grande chose qui ait frappé la vallée depuis l'invention de la puce informatique !
Il a été conçu pour résoudre le problème de la loi de Moore, qui entraînait une augmentation exponentielle de la puissance de calcul, alors que la productivité du développement de logiciels augmentait de façon linéaire.
Aujourd'hui, avec le déploiement continu plusieurs fois par jour à partir d'une seule branche de code, comme c'est le cas chez Google et ailleurs, nous constatons une amélioration de la productivité de plusieurs ordres de grandeur, ce que j'ai essayé d'expliquer dans mon document de recherche Agile 2005 sur les "L'avenir de Scrum."
La dernière itération de ce type de pensée se trouve dans les voitures auto-conduites. En 2016, j'ai fait passer ma Tesla à la version la plus récente, avec la nouvelle carte intelligente de NVidia et des capteurs étendus. Il s'agit d'un boîtier $500 qui est une version compressée d'un superordinateur $50M datant de l'an 2000.
Et Elon Musk dit que sa programmation nécessite des milliers de développeurs mais seulement quelques années d'itérations. Il ne serait pas possible de construire cela sans la combinaison des puces matérielles et de la technologie. méthodes agiles.
Pendant ce temps, Google est toujours coincé avec des voitures intelligentes dans un environnement de laboratoire. Ils ne sont pas assez agiles.