Manifeste pour la simplicité des systèmes d’information

Face aux exigences croissantes de flexibilité et de montée en charge, la complexité des SI a fortement augmenté ces dernières temps. Suscitant un accroissement significatif des coûts de maintenance et par des retards ou des échecs fréquents sur les projets de transformation.

A terme, l’absence de maîtrise de la complexité pourrait menacer la pérennité même de certains SI. Si l’élimination de toute forme de complexité du SI n’est assurément pas un objectif réaliste, sa maîtrise en revanche devient désormais une obligation pour ceux en charge d’assurer sa maintenance et son évolution. Aujourd’hui, l’urgence est à la simplicité.

Nous pensons que la maîtrise de la complexité se réalise en trois étapes :

1) Comprendre la nature de la complexité et ses conséquences sur la valeur du SI
La complexité est une notion difficile à appréhender et à évaluer dans les SI d’entreprise. Nous pensons qu’elle a principalement pour origine l’accumulation excessive de technologies hétérogènes et l’empilement souvent inutile de couches d’abstraction ou de solutions d’automatisation. Les principaux effets qui en découlent sont la multiplication des compétences nécessaires, la perte de vue des interdépendances entre les sous-systèmes, et, une imprédictibilité accrue du comportement des SI.
De même, il est illusoire de chercher à définir une seule notion de valeur du SI. Ce dernier a des parties prenantes aux intérêts souvent différents et parfois contradictoires. Nous distinguerons ici trois types de valeur :

  • une valeur d’usage qui mesure le service rendu aux utilisateurs,
  • une valeur stratégique qui mesure la contribution du SI à l’avantage compétitif de l’entreprise,
  • une valeur durable qui mesure l’aptitude du SI à maintenir un bon niveau de fiabilité malgré les évolutions.
L’objectif est alors d’appréhender l’influence de la complexité sur ces différentes formes de valeur.

2) Identifier les causes de la croissance de la complexité
Nous avons identifié trois facteurs principaux dans l’augmentation de la complexité :
* L’hétérogénéité technique
qui est favorisée par l’ouverture du SI, par une obsolescence rapide des technologies ainsi que par une absence de leadership technique,
* Des besoins qui évoluent
sans cesse à cause des imprécisions dans la gestion des exigences et de l’évolution des opportunités et des contraintes du marché, qui nécessitent toujours plus de flexibilité et de réactivité,
* Des facteurs humains
enfin,  tels que l’exigence souvent excessive de pluridisciplinarité, la démotivation face à des situations chaotiques ou la perte de savoir-faire indispensables consécutive à une automatisation ou une externalisation excessive.
Ces facteurs étant interdépendants, l’analyse des causes de la complexité doit obligatoirement tous les prendre en compte. 

3) Mettre en œuvre les principes de la simplicité
La simplicité est plus que l’absence de complexité. Elle doit être perçue comme un moyen d’action sur la complexité superflue. Elle se résume en 6 facettes associées à des verbes d’action. Ces actions ne sont ni constamment indépendantes, ni toujours compatibles entre elles. Elles constituent néanmoins un guide efficace pour la maîtrise de la complexité :

  • Réduire ce qui est redondant, superflu, ou rarement utile,
  • Masquer la complexité d’un système. Cela dispense l’utilisateur d’avoir à la maîtriser. Il s’agit de créer ici une impression subjective de simplicité par réduction des contraintes,
  • Organiser la complexité. Cela consiste à mettre de la structure là où il n’y en avait pas. C’est combattre l’augmentation spontanée du désordre en limitant les possibilités de dysfonctionnements par un agencement judicieux des composants,
  • Apprendre / Se former. Cela consiste à améliorer les connaissances des participants pour leur permettre de mieux appréhender la complexité. Cela permet de limiter le recours à l’action « Masquer »,
  • Se donner du temps confère de la liberté d’action pour « Réduire », « Masquer », « Organiser », « Apprendre » un système complexe,
  • Créer de la confiance permet d’éviter les contrôles inutiles. Cette action dispense d’élaborer des « contrats » sophistiqués qui définissent le détail des responsabilités des participants. 
Les combinaisons d’actions sont à identifier pour chacune des causes principales de complexité et pour chaque couche du SI, matérielle, logicielle ou fonctionnelle.

Les 10 commandements de la simplicité IT

1. Simplicité ne rime pas avec facilité. La simplicité correspond à un ensemble de principes, d’intuitions et de pratiques qu’il s’agit de réintégrer au cœur du SI où ils ont été trop longtemps négligés.

2. Limiter le recours aux réponses toute faites. Les problèmes intrinsèquement complexes ne trouvent pas de solution dans l’application aveugle de modèles ou de recettes de cuisine. 

3. Privilégier la profondeur des connaissances plutôt que la quantité. Il convient de réhabiliter dans l’IT une connaissance approfondie de quelques principes au détriment d’une connaissance approximative d’un grand nombre de produits éphémères.

4. La stabilité est un préalable à la flexibilité. Avant d’envisager la construction d’un SI flexible, il convient de construire d’abord une architecture de base robuste, permettant d’absorber la fluctuation continue des exigences en évitant un état d’instabilité coûteux.

5. Pour faire face au changement, identifier ce qui est stable. La seule manière de faire face au changement est d’identifier les éléments stables : un modèle d’objets métiers, un ensemble de processus, les règles métier élémentaires ou le modèle opérationnel de l’entreprise.

6. La technologie peut encapsuler la complexité, l’esprit humain peut la maîtriser. A ce titre, un peu d’intelligence humaine permet souvent d’éviter une importante complexité technique. 

7. L’encapsulation systématique de la complexité ou l’automatisation des tâches n’est pas toujours une bonne solution.

8. Augmenter le niveau d’abstraction n’est pas un objectif en soi. Néanmoins, utilisée à bon escient, l’abstraction  constitue une économie de pensée qui contribue à l’intelligibilité du système.

9. Il ne saurait y avoir que des premières fois. Capitaliser un effort d’apprentissage libère du temps que l’on pourra consacrer aux problèmes authentiquement complexes. L’effort renouvelé de familiarisation avec des activités d’un faible niveau conceptuel est un gaspillage d’énergie. 

10. Favoriser des équipes IT pérennes. Apprendre à travailler ensemble et instaurer la confiance prend un temps incompressible qu’il convient d’investir sur plusieurs projets.
Le sens ne fait pas partie du superflu. En dernière analyse, la complexité ne peut être maîtrisée que par des individus motivés, qui parviennent à donner un sens à leur activité.
----------------------------
Pour approfondir le sujet, notre ouvrage sur la maîtrise de la complexité :



Managing complexity of Information Systems, the value of simplicity

Pirmin Lemberger, Médéric Morel
ISTE / John Wiley & Sons
ISBN 978-1848213418