Méthodes agiles : la conception logicielle appliquée au monde physique

Depuis une quinzaine d’années, la majorité des développements de logiciels s’appuie sur des méthodes dites « agiles ». Sous cette bannière se regroupent plusieurs méthodes basées sur un développement itératif et incrémental, dans lequel la recherche de solutions aux problèmes rencontrés s’appuie sur la collaboration de pair à pair. Elle promeut des réponses rapides et flexibles, une planification des tâches adaptatives dans des laps de temps très courts permettant une très grande réactivité. L’objectif central est de trouver de meilleurs moyens de développer des logiciels. Cet ensemble de méthodes a fait ses preuves dans le domaine du logiciel libre et pourrait pour certains, demain, s’appliquer aux méthodes de travail de la production de biens, de connaissances, dans les entreprises, les administrations, les associations, etc.

Le 4 octobre 2012, à l’Ecole nationale de création industrielle (Ensci), Joe Justice donnait une conférence et un atelier sur le thème des méthodes agiles (voir la vidéo de son intervention). Sous ce nom digne d’un super héros, l’intervenant spécialiste de ces méthodes, a livré une expérience très inspirante d’un projet collectif de réalisation d’un véhicule (ici une voiture) en partant de zéro, le projet Wikispeed (voir le reportage de Daily Planet consacré au projet).


Image : Joe Justice au OuiShare Talk de l’Ensci, photographié par Stan Jourdan.

L’agilité ou la rentabilité ?

L’objectif de Wikispeed est de construire une voiture rapide, consommant peu (2,5 L/km) et répondant à toutes les normes de sécurité. L’industrie automobile fait assez peu évoluer les véhicules qu’elle propose. Joe Justice évoquait l’exemple d’une voiture hybride de Honda (dont le modèle ne semble pas exister en Europe) dont la consommation a très peu évolué en 6 ans. Celle-ci a gagné 0,3 litre aux 100 kilomètres, passant de 4,6 à 4,3 l. La carrosserie du véhicule n’a également que peu évolué, et ceci pour une raison simple : les automobiles étant produites en série, chaque partie de la carrosserie va être produite par une presse spécifique. La presse d’une porte coûte 10 millions de dollars, il faut donc plusieurs années pour la rentabiliser.

Dans une démarche agile, les différents modules d’un logiciel sont « incrémentés » en permanence pour les optimiser, en modifier les comportements, développer de nouvelles fonctionnalités, répondre à des besoins, etc., et ceci aussi bien dans une phase amont (lors de la conception) que lorsque le logiciel ou service est en production. Un service comme Gmail de Google a longtemps été proposé en version « beta ». Si les principales fonctionnalités avaient été implantées lors de son lancement, celles-ci ont été raffinées lors de mises à jour : Google ajoutant des fonctionnalités grâce aux usages observés, aux retours utilisateurs, etc. Or, dans le monde physique, lorsque la porte du véhicule est conceptualisée et produite, si un ingénieur travaille sur de meilleurs plans, une meilleure qualité, un autre processus de fabrication, ces innovations ne seront implantées que lorsque la presse aura été rentabilisée. Une démarche assez commune dans l’industrie classique, qui ne facilite pas la souplesse.


Vidéo : le reportage de Daily Planet consacré à Wikispeed.

Le développement d’un nouveau projet dans l’industrie comme dans le logiciel passe par un cycle classique : besoin, design, implémentation, vérification, maintenance. Or, estime Joe Justice, les nouveaux produits sont plutôt imaginés en rassemblant les fonctionnalités désirées par les utilisateurs. Ils sont basés sur ce que les clients souhaitaient avoir il y a 10 ans, plus que ce qu’ils attendent pour demain…

Les techniques de conception agile

Cette méthode de travail était également employée dans l’industrie du logiciel, mais c’est en train de changer souligne Joe Justice. La boucle précédente est toujours suivie, mais celle-ci est reprise tous les 7 jours. Wikispeed s’appuie sur cette méthode pour développer son véhicule : le développement du véhicule sera incrémental, en reprenant le cycle de production tous les 7 jours.

Pour se faire, le véhicule est « découpé » en 8 parties modulaires et indépendantes. Chaque équipe va travailler sur une partie tous les 7 jours. Pour reprendre le vocabulaire du développement logiciel et en particulier de la programmation orientée objet, Joe Justice parle de « object oriented engineering » (ingénierie orientée objet).

Pour conceptualiser, développer et produire le véhicule, l’équipe de Wikispeed s’est appuyée sur la méthode de « fabrication extrême » (extreme manufacturing), qui consiste à gérer des projets « physiques » comme s’ils étaient des logiciels. Sous ce terme nous allons retrouver plusieurs méthodes dans lesquelles Wikispeed est allé puiser certaines spécificités :

  • Le « lean » : Il s’agit d’utiliser le moins de choses possible lorsque cela est faisable. Par exemple dans un véhicule classique, il existe un ordinateur pour contrôler les airbags, un pour gérer le niveau d’essence disponible et en informer son conducteur, un pour analyser l’air entrant et, sur certains véhicules, pulvériser un déodorant… « Ces ordinateurs ne sont pas conçus par les constructeurs, mais par des prestataires et ne sont généralement pas compatibles entre eux ni entre marques. A chaque modification, les ordinateurs de bord doivent être changés. » Wikispeed s’est appuyé sur des Arduinos, une plateforme électronique matérielle libre, open source et très économique (20 euros) afin de tester et programmer tous les composants logiciels du véhicule quand il en coûte quelques 3000 dollars pour intégrer la plupart des ordinateurs de bords classiques d’une voiture d’aujourd’hui.
  • Agile pour réduire le coût des itérations et des changements.
  • Scrum : Cette méthode découpe les tâches en un ensemble de sous tâches pour les traiter sous forme de sprints, c’est-à-dire littéralement de courses rapides. Les sprints peuvent durer entre quelques heures et un mois (avec une préférence pour deux semaines). Chaque sprint commence par une estimation suivie d’une planification opérationnelle. Le sprint se termine par une démonstration de ce qui a été achevé, et contribue à augmenter la valeur d’affaires du produit. Avant de démarrer un nouveau sprint, l’équipe réalise une rétrospective : elle analyse ce qui s’est passé durant le précédent sprint, afin de s’améliorer pour le prochain. La méthode SCRUM formalisée en 2003 est aujourd’hui appliquée dans les 10 premières entreprises cotées à Wall Street.
  • XP (extreme programming) : Toutes les équipes travaillent en binômes pour favoriser la collaboration et capitaliser les compétences. L’objectif est de former les nouveaux membres du projet par « l’apprentissage en faisant » avec un mentor. De plus, tous les membres de l’équipe doivent être capables d’avoir des compétences sur tous les postes afin de mobiliser toute l’équipe lorsqu’elle rencontre un problème : on parle de swarming (de fourmillement pour évoquer le fonctionnement en essaim de certaines formes d’intelligence distribuée ).

Ces méthodes permettent d’obtenir très rapidement un premier prototype. Celui-ci est présenté toutes les semaines au « client » afin d’avoir ses retours, lui présenter des scénarios d’évolution, etc. D’ailleurs, tout le travail est synthétisé par des tableaux Kanban afin d’être toujours accessible et compréhensible par tous. Tout le workflow est représenté par de simples post-its dans un tableau en 5 colonnes. Une colonne avec l’ensemble des tâches « à réaliser », une « à faire », « en cours », « fait ». Lorsque le post-il arrive dans la colonne « Fait » la tache passe un protocole de test réalisé par un autre membre de l’équipe qui vérifie que celle-ci est bien validée. Pour Joe Justice, cette méthode permet de considérablement accélérer le flux des travaux.

Mais on ne surveille pas que le processus de fabrication et de conception. Pour Joe Justice le moral de l’équipe est un des points centraux de la conception. Toutes les études montrent que lorsque le moral est bon la productivité est soutenue. Garder un moral élevé fait parti des objectifs du projet : les membres de l’équipe sont traités comme des clients, ils doivent être satisfaits. Les feedbacks, ces moments de discussion qui reviennent sur ce qui a été accompli, permettent de régler rapidement les problèmes et contribuent à souder l’équipe.

Un prototype fonctionnel en 3 mois

Avec ces méthodes, le projet est géré sans planning préalable. Il est intégralement développé en « développement piloté par des tests« . Lorsque les tests sont satisfaisants, c’est que la tache est terminée.

C’est ainsi qu’il n’a fallu que trois mois au prototype de Wikispeed pour effectuer et réussir son premier crash test (une étape nécessaire pour acquérir une licence permettant de rouler sur les routes américaines). L’avantage d’avoir un premier prototype fonctionnel rapidement est de pouvoir collecter des données lors de conduite sur route et pouvoir réaliser des feedbacks fréquents. Un produit fonctionnel est aussi efficace pour la recherche de partenaires, investisseurs et futurs clients. Cette voiture a concouru aux X-prize et a fini dixième sur 136 compétiteurs dont la majorité disposait de budget à plusieurs millions de dollars… face à un budget de quelques dizaines de milliers de dollars.

La voiture finale a été produite en 3 ans avant d’être commercialisée. Elle reste très simple, le « châssis roulant » (le véhicule sans sa carrosserie) a pu être assemblé en 3 heures lors d’un salon public par une équipe de 20 personnes prises dans le public et accompagnée en binôme par Wikispeed.


Image : la Wikispeed.

Les plans, fichiers 3D, documentation du premier véhicule de Wikispeed, le SGT01 ont été publiés dans une licence libre accessible à tous.

Aujourd’hui, le projet Wikispeed, ce n’est pas une équipe qui travaille sur une voiture, mais 150 équipes reparties dans 18 pays avec chacune ses spécificités. L’équipe Néo Zélandaise travaille sur un camion, la Barcelonaise sur des vélos électriques et de petites voitures. Toutes utilisent les méthodes agiles et l’internet pour partager, échanger et s’entraider. Leur système d’information n’est pas très compliqué, tous les outils utilisés sont ou libres ou gratuits. Une majorité d’outils proviennent des grands acteurs du Web2.0 et sont les mêmes que la plupart d’entre nous utilisent : Google docs, Dropbox, Youtube, Scrumy, Linoit, …

Vers un management radical ?

Dans la suite de sa présentation et pour argumenter son propos Joe Justice s’est appuyé sur l’étude du cabinet Deloitte de 2011 « The Big Shift » qui analyse les forces structurelles à l’oeuvre dans le domaine économique.

D’un coté la performance technologique augmente de façon exponentielle tout comme les machines à prototypage rapide de plus en plus performantes et de plus en plus accessibles, de l’autre la rentabilité économique est en baisse constante. Joe Justice résumait ce phénomène en « nous avons des outils de production du 21e siècle, mais des méthodes de management des années 60… »

Chez Wikispeed c’est le contraire, les outils de production sont le plus simple possible, peu chers, mais utilisent des méthodes de management radicales. Joe Justice parle même de Radical transparence. Par exemple, ils disposent d’une fraiseuse à commande numérique achetée d’occasion à 1500 dollars pour usiner de la mousse sur laquelle, ils vont ensuite coller de la fibre de carbone permettant de prototyper très rapidement et à faible coût une carrosserie. Alors que chez les fabricants d’automobiles le prototype de carrosserie sera usiné sur une machine à commande numérique à plusieurs millions de dollars et en aluminium… Dans les ateliers de Wikispeed on retrouve les outils de base des Fab Labs, du matériel informatique recyclé, des plates-formes de prototypage électronique de type Arduino ou Raspberry Pi, etc.

Suite a plusieurs présentations publiques, Joe Justice a été invité à intervenir chez le fabricant de matériel agricole John Deer pour évoquer justement ces nouvelles formes d’innovation. La méthode de « fabrication extrême » y a été mise en place sur le tracteur LifeTrac dont les plans et la documentation ont été publiés en licence libre. En quelques mois le premier prototype fonctionnel de ce tracteur a été créé. Un groupe de travail s’appuyant sur les méthodes agiles a même été mis en place pour développer une nouvelle gamme de tracteurs chez John Deer, le Wikideer.

Boeing aujourd’hui s’intéresse à ce type de méthode… Et un projet similaire à Wikispeed existe également pour construire demain de petits avions en open source.

Ces méthodes ont également été employées chez un fabricant de radios, en 3 semaines, un nouveau prototype était produit alors que normalement chaque nouveau prototype avait un temps de maturation d’au moins une année.

Ce qui est intéressant ici, c’est que derrière les outils qui paraîtront à tout capitaine d’industrie comme étant parfaitement amateurs, le Do it Yourself s’intéresse également aux méthodes de conception. Il ne s’agit pas seulement de faire de la conception autrement, mais bien de transformer la conception et la production même des produits. Le but n’est pas tant d’aller plus vite que de faire mieux, de faire en sorte que le processus de production soit aussi stimulant que possible. Force est de reconnaître que la démonstration faite par Joe Justice était particulièrement inspirante. Et que concevoir autrement est indéniablement une méthode pour aboutir à de nouvelles conceptions.

Fabien Eychenne

À lire aussi sur internetactu.net

0 commentaires

  1. Et si vous aviez écrit votre article en vous inspirant des méthodes AGILE ?

    Serait-il seulement lisible ?

  2. Réponse à fm :

    Les méthodes AGILE sont conçues pour faire travailler ensemble plusieurs personnes et sur des sujets ayant, disons, un minimum de complexité. Elles ne sont par conséquent pas conçues pour la rédaction d’1 article par 1 personne. A la rigueur, on pourrait peut-être s’en inspirer pour la rédaction collective d’un livre. J’ignore si l’expérience a déjà été tentée.

  3. il me semble que Linuxfr pratique souvent la collaboration sur la rédaction d’articles.
    après il s’agit souvent de descriptions techniques.

  4. Très bon aperçu de la tendance de l’agilité à sortir du logiciel. Petit détail: Scrum n’a pas été créé en 2003 mais en 1993. 20e anniversaire l’année prochaine !

  5. Je peux me tromper mais OpenSourceEcology et leur LifeTrac n’ont rien à voir avec JohnDeer… Votre texte le laisse penser.

    Sinon très bon texte d’introduction à l’agilité pour les non informaticiens !

  6. @benoit, c’est tout à fait exact! Joe Justice est intervenu lors d’un séminaire chez John Deer, et ils ont travaillé sur un WikiDeer, assez proche du projet Lifetrac réalisé dans le cadre d’opensource ecology. Ce n’est pas clair dans le texte.