• Aucun résultat trouvé

Deux exemples emblématiques dans l’industrie informatique : les ordinateurs IBM s/360 et le système d’exploitation Unix.

par les utilisateurs

S OMMAIRE DU C HAPITRE 2 :

4. La modularisation d’une architecture produit peut avoir pour conséquence la transformation

1.5. Deux exemples emblématiques dans l’industrie informatique : les ordinateurs IBM s/360 et le système d’exploitation Unix.

1.5.1 Les ordinateurs IBM s/360 :

Beaucoup d’industries ont connu un certain degré de modularité dans leur processus de production, et un nombre croissant d’entre elles tentent d’étendre la modularité à l’étape de conception. Pour cela, elles cherchent à apprendre de l’industrie informatique. En informatique,

Chapitre 2 : Apports de la littérature : de la modularisation à l’innovation par les utilisateurs __________________________________________________________________________________________

les capacités de stockage et les vitesses de traitement ont explosé, alors que les coûts sont restés stables ou ont baissé, améliorations qui ont résulté d’une complexité croissante du produit : l’ordinateur moderne est constitué d’un nombre élevé d’éléments travaillant de concert. La modularité a permis aux entreprises de gérer cette technologie de plus en plus complexe. En découpant un produit en sous-systèmes, ou modules, les concepteurs, fournisseurs et autres utilisateurs ont gagné énormément de flexibilité (Baldwin et Clark, 2000). Différentes entreprises peuvent prendre la responsabilité de modules séparés, et être certaines que le produit qui émergera de leur effort collectif sera fiable.

Le premier ordinateur modulaire le System/360, lancé par IBM en 1964, en est la parfaite illustration : les modèles précédents possédaient leurs propres systèmes d’exploitation, processeurs, périphériques et logiciels d’application. A chaque nouveau modèle, un constructeur informatique, devait, pour tirer profit des dernières évolutions technologiques, développer des composants et des logiciels spécifiques, tout en maintenant les anciens modèles. Les utilisateurs qui changeaient de machine, devaient réécrire tous leurs programmes, avec le risque de perte de données dû à une mauvaise récupération par les nouveaux programmes, ce qui limitait leur désir de changer de machine. Les développeurs de la gamme 360, conçurent une gamme d’ordinateurs de taille variable pouvant convenir à différentes applications, utilisant les mêmes ensembles d’instruction et pouvant partager les mêmes périphériques. Pour atteindre cette modularité, ils appliquèrent les principes de la modularité en conception : les concepteurs divisèrent les concepts des processeurs et des périphériques en information visible et cachée (cf. définitions). IBM mis sur pied un Central Processor Control Office, qui établit et renforça les règles de conception visibles qui déterminaient comment les différents modules de la machine devaient travailler ensemble. Les équipes de conception réparties dans le monde entier durent se plier scrupuleusement à ces règles. Mais chaque équipe avait un contrôle complet sur les éléments cachés de conception dans son module.

L’emploi de cette approche par IBM aboutit à un succès colossal, beaucoup de ses concurrents étant forcés de quitter le marché, ou de se réfugier sur des niches. Mais sur le long terme, la modularisation finit par miner aussi la prédominance de IBM, de nouvelles entreprises produisant progressivement des modules - imprimantes, terminaux, mémoire, logiciel, et finalement les unités de traitement central elles-mêmes - compatibles avec les machines IBM. En suivant les règles d’IBM, et en se spécialisant sur un seul module, chaque entreprise ou unité pouvait approfondir ses travaux. Le fait d’avoir de nombreuses entreprises focalisées sur un seul module,

Chapitre 2 : Apports de la littérature : de la modularisation à l’innovation par les utilisateurs __________________________________________________________________________________________

permit de nombreuses expérimentations parallèles. Les concepteurs de module étaient libres d’essayer toute une gamme d’approches tant qu’elles respectaient les règles de conception. Pour une telle industrie, dans laquelle l’incertitude technologique est élevée, et la meilleure façon de procéder souvent inconnue, plus il y a d’expérimentations, et plus les concepteurs ont de flexibilité pour développer et tester les modules expérimentaux, plus l’industrie sera capable d’aboutir rapidement à des versions améliorées. Cette liberté d’expérimenter un concept de produit est ce qui distingue les fournisseurs modulaires des sous-traitants ordinaires. Ainsi, une équipe de concepteurs de lecteurs de disques doit obéir aux spécifications générales d’un PC, telles que les protocoles de transmission de données, les spécifications de taille et de forme du matériel, en respectant les standards relatifs aux interfaces, pour que le module fonctionne dans le système. Mais, d’un autre côté, les membres de l’équipe peuvent concevoir le lecteur de disque de la manière qu’ils pensent être la meilleure. Leurs décisions n’ont pas à être communiquées aux concepteurs des autres modules ou même aux architectes du système, créateurs des règles visibles. Des fournisseurs de lecteurs de disque peuvent ainsi expérimenter leur version du module avec des approches ingénieriques complètement différentes.

1.5.2 Le système d’exploitation Unix :

L’exemple du système d’exploitation Unix, nous intéresse à plus d’un titre, tout d’abord parce qu’il concerne l’univers du logiciel, ensuite parce qu’il illustre la façon avec laquelle la diffusion d’un produit doté d’une architecture modulaire peut impacter la structure d’une industrie, et enfin parce qu’il montre comment le caractère modulaire de ce logiciel à permis à un grand nombre d’acteurs de participer au processus d’innovation, parmi lesquels un certain nombre d’utilisateurs.

Pour Baldwin et Clark (2000), la force d’Unix est d’être modulaire à la fois dans sa propre structure de conception (modularité statique), et dans la façon avec laquelle il gère les ressources de l’ordinateur (modularité dynamique). La modularité « statique » est en fait la modularité traditionnelle : les composants individuels d’Unix ont été partitionnés avec précaution afin que les tâches de conception sur chaque module puissent être réalisées indépendamment. Ainsi, Unix était facile à mettre à jour et à « augmenter », au sens où nous l’avons défini quand nous avons décrit les six opérateurs de la modularité. Sa conception invitait au « bricolage », et ses utilisateurs ont rapidement développé des mécanismes de partage de solutions aux problèmes rencontrés le plus fréquemment. Les utilisateurs purent améliorer des modules, ou mêmes en ajouter. La modularité « statique » rendait aussi le « portage » d’Unix plus facile (le portage informatique

Chapitre 2 : Apports de la littérature : de la modularisation à l’innovation par les utilisateurs __________________________________________________________________________________________

consiste à mettre en œuvre un logiciel, une fonctionnalité, voire un système d'exploitation comme Unix, dans un autre environnement matériel ou logiciel que celui d'origine). Mais ce qui rendait Unix unique à l’origine, c’était sa façon de gérer les ressources de l’ordinateur, en particulier la modularité de sa gestion dynamique de la mémoire. La gestion dynamique de la mémoire affecte grandement la vitesse d’un ordinateur. Auparavant, cette gestion était souvent encastrée dans le code des programmes d’application, alors que cette fonction dépendante du logiciel devait être réalisée par tous les programmes fonctionnant sur un certain type de machine. A ce titre, cette fonction était un candidat évident à l’« inversion ». Unix créa alors une gestion de la mémoire modulaire, au travers de la définition de images et de reentrant processes et en utilisant un interpréteur de commandes, appelé le Shell. Unix s’est finalement imposée ainsi que sa philosophie, qui était une affirmation des principes de modularité : découper le code en unités fonctionnelles aussi petites que possible et trouver la meilleure mise en œuvre de cette fonction, masquer les contenus d’un module en présentant ses inputs et ses outputs sous forme de texte (« l’interface universelle »), et créer de grands systèmes à partir de modules élémentaires.

1.6. Les conséquences de la modularité sur les organisations et la structure