L'agile pour l'architecture et la construction

L'agile pour l'architecture et la construction

Aujourd'hui, les constructeurs doivent produire plus en un temps toujours plus restreint. Ils doivent Ă©galement travailler pour des utilisateurs plus regardants sur la qualitĂ©. Les produits doivent correspondre Ă  leurs attentes pour avoir une valeur rĂ©elle. Adopter les mĂ©thodes agiles aux projets physiques (hardware) permet d’en amĂ©liorer la qualitĂ©, mais aussi de gagner du temps. L'industrie du logiciel a dĂ©jĂ  rĂ©alisĂ© sa transition mĂ©thodologique et nous devons nous en inspirer pour rĂ©volutionner notre approche de la conception d'objets physiques.

Les méthodes agiles, du software au hardware

Les mĂ©thodes agiles sont utilisĂ©es dans l’industrie du logicielpar les dĂ©veloppeurs depuis la fin des annĂ©es 1990. Aujourd'hui, ce sont les mĂ©thodes de management de projets les plus populaires pour le dĂ©veloppement de logiciel. Les mĂ©thodes agiles diffĂšrent de la mĂ©thode utilisĂ©e par le passĂ© et dite "en cascade" ; oĂč le projet Ă©tait rĂ©alisĂ© par Ă©tapes successives jusqu'Ă  son Ă©tat final.

Avec l'AgilitĂ©, le but est d'arriver le plus vite possible Ă  une version simple mais fonctionnelle du produit, qui peut ĂȘtre testĂ©e par les utilisateurs. Ce dĂ©veloppement itĂ©ration aprĂšs itĂ©ration est important pour obtenir le plus tĂŽt possible des retours de la part des utilisateurs et pouvoir continuellement amĂ©liorer le projet.

Cela permet Ă©galement de dĂ©tecter les problĂšmes et rĂ©gler rapidement les blocages. La popularitĂ© des mĂ©thodes agiles dans la production d'objets physiques est au mĂȘme point oĂč en Ă©tait l'industrie software au dĂ©but des annĂ©es 1990. Certains prĂ©curseurs utilisent dĂ©jĂ  ces mĂ©thodes, tandis qu’elle sont toujours mĂ©connues pour d’autres.

Les auteurs du manifeste agile à sa création Les auteurs du manifeste agile à sa création.

Le manifeste agile de 2001

Le manifeste agile de 2001 a Ă©tĂ© Ă©crit par plusieurs personnalitĂ©s de l'industrie software aprĂšs deux jours de rĂ©union. Ce manifeste pour le software est basĂ© sur 4 valeurs principales et 12 articles. La manifeste nous montre l'intĂ©rĂȘt d'Ă©changer avec les gens et favoriser les interactions en travaillant avec l'utilisateur et l’importance de rĂ©aliser un minimum viable product (produit minimum viable). Il pointe Ă©galement certains Ă©lĂ©ments qui habituellement sont des obstacles. Par exemple le fait de suivre un plan Ă  long terme, de se focaliser sur la nĂ©gociation du contrat, de se concentrer plus sur les process que sur les individus ou encore de devoir rĂ©aliser un grand travail administratif avant mĂȘme de pouvoir entamer la premiĂšre action.

On peut dire que l'agilité rend possible l'adaptation aux changements. Adapter cet état d'esprit au hardware ouvre une perspective intéressante. Favoriser la flexibilité et les individus rend les équipes plus productives, efficace et leur travail plus agréable.

La manifeste Agile pour le hardware de 2008

Joe Justice, un Scrum master amĂ©ricain, est Ă  l’origine du manifeste agile pour le Hardware en 2008. Ce manifeste adapte le premier manifeste agile aux besoins spĂ©cifiques du hardware  et notamment Ă  la difficultĂ© plus grande de faire des changements lorsque le processus de fabrication du produit ou du bĂątiment est avancĂ©. Pour permettre de faire des changements mĂȘme tardifs et en rĂ©duire les coĂ»ts il propose quatre principes:

  • La modularitĂ©
  • Le choix d’outils de production qui permettent la flexibilitĂ©
  • L’utilisation d’un nombre rĂ©duit de matĂ©riaux
  • La recherche d’un design minimaliste

L’utilisation de maquettes et de prototypes est dĂ©terminant dans cette mĂ©thode de conception.  Cela permet de tester constamment le produit. Pour travailler ainsi, il est recommandĂ© de suivre  plusieurs principes.

La modularité, un concept connu en architecture
La modularité, un concept connu en architecture

  • DĂ©couper le projet en modules

Il faut dans un premier temps modulariser le projet. Le dĂ©couper en plusieurs modules permet de rĂ©duire les risques. On Ă©vite ainsi de revoir tout le projet si une seule partie ne fonctionne pas . Il est important que chaque module soit indĂ©pendant pour que des Ă©quipes diffĂ©rentes et indĂ©pendantes puissent itĂ©rer dessus. Pour que l’assemblage final soit possible, il faut nĂ©anmoins dĂ©finir clairement les jonctions ou interfaces.

  • DĂ©finir clairement les interfaces

Les interfaces ou connections entre modules doivent donc ĂȘtre dĂ©finies en amont pour permettre leurs autonomies de conception. Il s’agit en fait de la transposition d’un concept connu dans le logiciel qui est le contrat d’interface, et permet aux utilisateurs d’une API (Application Programming Interface) de prĂ©voir leur dĂ©veloppement mĂȘme avant qu’elle ne soit fonctionnelle.

  • Tester l’intĂ©gration des modules frĂ©quemment

Des tests d’intĂ©gration des diffĂ©rents modules doivent ĂȘtre si possible en continue. Si possible ils  devraient mĂȘme pouvoir ĂȘtre automatisĂ©s. Ceci avec pour but de dĂ©tecter au plus tĂŽt les problĂšmes d’intĂ©grations et de pouvoir ainsi corriger en amont les modules et rĂ©duire le risque de l’assemblage.

La réalité augmentée comme moyen de tester un produit en continu
La réalité augmentée comme moyen de tester un produit en continu

  • DĂ©finir et tester les critĂšres d’acceptances Ă  chaque Ă©tapes

Pour amĂ©liorer constamment le produit, il faut Ă©galement tester le produit en fonction de critĂšres d’acceptances. Joe Justice propose d’utiliser la mĂ©thode du test driven development ou dĂ©veloppement orientĂ© par les tests. Dans cette mĂ©thode il s’agit d’écrire en avance les critĂšres minimums pour que le produit soit valide. A toutes les Ă©tapes de la conception il faut vĂ©rifier que le produit passe les tests. Ainsi, pour une voiture comme dans le cas de Wikispeed, il s’agit de faire des crash tests trĂšs en amont pour contrĂŽler la rĂ©sistance de l’habitacle. Il propose Ă©galement de profiter des  nouveaux capteurs issus de l'internet des objets pour analyser les projets en temps rĂ©el. Dans le cas du bĂątiment, on peut imaginer tester Ă  chaque Ă©tape de conception les performances thermiques du bĂątiment. Cela permettrait de contrĂŽler que des choix faits en amont sur le design n’auront pas d’impact sur les performances techniques souvent mesurĂ©es trop tard.

  • Fournir Ă  chaque itĂ©ration un produit qui “marche” ou que l’on peut Ă©valuer

Un point  important du “manifeste Agile pour le Hardware” est d’avoir Ă  la fin de chaque sprint un produit qui “marche”. C’est Ă  dire d’obtenir un prototype physique en Ă©tat de marche, ou virtuel que l’on peut tout de mĂȘme Ă©valuer. L’utilisation de moyens techniques tels que la rĂ©alitĂ© augmentĂ© facilite ce travail de prototypage et d’itĂ©ration en rĂ©duisant les coĂ»ts.

  • Travailler en Ă©quipes pluridisciplinaires

Enfin au sein des Ă©quipes, la communication et le travail collectif doivent ĂȘtre mis en avant. Il faut crĂ©er un Ă©tat d’esprit, qui permette aux acteurs de proposer des solutions innovantes aux problĂšmes qui se prĂ©sentent Ă  eux. Les Ă©quipes doivent ĂȘtre multidisciplinaires et les membres sont tour Ă  tour mentor ou apprenant. Les Ă©quipes agiles valorisent la communication  entre les membres pour crĂ©er une Ă©mulation. Tous les membres de l’équipe peuvent aider et donner leur avis mĂȘme quand ils ne sont pas des spĂ©cialistes “officiel” du sujet.

Ce qu’il faut retenir du manifeste agile pour le Hardware

Le manifeste agile de 2001 a Ă©tĂ© adaptĂ© pour les projets hardware par Joe Justice Ă  l’occasion du projet Wikispeed. Cet ancien dĂ©veloppeur spĂ©cialiste du Scrum a Ă©dictĂ© 4 principes et plusieurs stratĂ©gies qui visent Ă  accĂ©lĂ©rer le processus de conception et faciliter les itĂ©rations.

Ces principes sont complĂ©mentaires et sont basĂ©s sur la modularitĂ©, un choix des outils de production favorisant la flexibilitĂ©, l’utilisation d’un nombre rĂ©duit de matĂ©riaux. L’objectif est de tester constamment le projet (grĂące au test driven development), et d’obtenir un produit fonctionnel Ă  la fin de chaque cycle d’itĂ©ration, oĂč les modules amĂ©liorĂ©s sont intĂ©grĂ©s au fur et Ă  mesure. La technologie et notamment la rĂ©alitĂ© virtuelle peuvent vous aider dans ce processus d’itĂ©ration afin de recueillir les avis des utilisateurs.

Le travail d’équipe est au centre de cette approche. Ce sont les capacitĂ©s des acteurs Ă  communiquer Ă  toutes les Ă©tapes du projets et l’émulation au sein de l’équipe qui vont permettre l’agilitĂ©.