Catégories
Travaux

Opposer artisanat et ingénierie est une idiotie

Image dans Infobox.
Lewis Mumford (1895-1990)

L’idée que l’industrie est l’évolution nécessaire de tout artisanat est un lieu commun fortement ancré dans la mentalité contemporaine. Dans la seconde moitié du XXème siècle, une lame de fond trouvant son origine chez Lewis Mumford[i] parcourt la plupart des disciplines que l’on croyait acquises à l’industrie : architecture, mobilier et même agriculture. Elle se nomme vernacularisme [ii]et tente de réconcilier science et tradition, productivité et beauté.

Mon métier, le développement de logiciels, n’était pas né lors de l’émergence du courant vernaculaire et son inclusion dans ce débat n’intervient que dans les années 2000, avec le mouvement de l’artisanat logiciel (Software Craftmanship). Le débat fut vif entre tenants d’une ingénierie logicielle « tayloriste » et ceux d’un artisanat logiciel[iii] qui n’allait pas tarder à se séparer du mouvement Agile. L’enjeu du débat est d’imposer sa grille de lecture à l’informatique des années 70 à 90. L’échec qualitatif historique du développement logiciel, qui fait les choux gras du Standish Group[iv], fut analysé par les deux camps, chacun ayant son explication.

Les méthodes des années 70 sont un facteur d’échec certain pour la profession.

L’artisanat du logiciel, explique que le désastre trouve son origine dans l’abandon des pratiques artisanales des années 60 au profit de méthodologies en tunnel. Dans ces dernières, la valeur est le fruit d’un processus industriel rationalisé dans lequel le développeur n’a pas de rôle moteur. Cette école plaide pour une conception itérative et incrémentale des logiciels, où la petite équipe décide collectivement avec le client de l’ensemble des choix de design. Pour Paul Taylor[v], cette rhétorique est intégralement issue du vernacularisme et s’appuie sur un empirisme clairement assumé par les praticiens. La présence importante d’anciens hippies dans la profession, sensibles aux thèses de Marcuse et Illich, n’est sans doute pas étrangère à l’origine de ce courant, mais il s’agit là d’une hypothèse personnelle. A ma connaissance aucune étude de l’origine de ce courant de pensée n’a été réalisée.

Vernacular & High Style Architecture – Architecture Revived
Architecture vernaculaire, ou architecture sans architecte. L’analogie s’est étendue à d’autres disciplines, dont le développement.

A contrario, pour les partisans de l’ingénierie, dont les arguments sont résumés par Ivar Jacobson et Ed Seidewitz[vi], le développement a échoué par manque de rigueur dans ses méthodes. Les auteurs ne dénigrent pas les artisans, qui sont à l’origine des très belles choses. Cependant ils considèrent que tout travail artisanal est par nature inefficient, car non-répétable et donc très faiblement ouvert à l’optimisation. C’est la pratique de l’ingénierie, un « artisanat supporté par une théorie », qui permettra au développement de sortir de la crise. L’ingénierie, selon les auteurs, uniformise les pratiques des différents maîtres et des différentes écoles derrière une théorie commune.

Ce débat soulève deux questions. D’abord, l’artisan est-il si allergique à la science que ça ? Autrement formulé, accuser la transmission traditionnelle des connaissances d’aller contre la science n’est-il pas fallacieux ? Ensuite, nous étudierons le lieu commun affirmant que tout artisanat se doit de progresser en une ingénierie, toute pratique vernaculaire en une industrie et toute tradition en une science. Enfin ce papier conclura sur l’opportunité ou non pour un développeur de s’identifier à la figure de l’artisan.

Un vaste programme, que je vous propose de dérouler sur les trois prochaines semaines !


[i] Technique et Civilisation (1934) ; Paris, Le Seuil, 1950 ; Marseille, Parenthèse, 2016

[ii] https://fr.wikipedia.org/wiki/Architecture_vernaculaire

[iii] http://manifesto.softwarecraftsmanship.org/

[iv] The Standish Group, CHAOS Report

[v] Taylor, P. (1). Vernacularism in Software Design Practice: does craftsmanship have a place in software engineering?. Australasian Journal of Information Systems, 11(1). https://doi.org/10.3127/ajis.v11i1.143

[vi] Jacobson, Ivar & Seidewitz, Ed. (2014). What happened to the promise of rigorous, disciplined, professional practices for software development?. Queue. 12. 10.1145/2685690.2693160.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *