Théorie des contraintes, performances Java et organisations

Une coïncidence amusante autour d’Eliyahu Goldratt et de sa théorie des contraintes.

(Pour ceux qui ne connaissent pas son best-seller, l’étonnant roman Le But, où cette théorie apparait pour la première fois, la lecture en est très vivement recommandée).

Le jour même où je tombais sur l’impeccable article de Bertrand sur le sujet, deux architectes de l’équipe nous faisaient une présentation sur la formation Java Performances qu’ils avaient suivie avec Kirk Pepperdine, une pointure internationale sur le sujet.

Le bottom-line de Pepperdine :

“Considérez toujours votre système comme une boite noire. Identifiez les goulets d’étranglements, résolvez les et recommencez vos benchmarks.

Méfiez vous des optimisations hyper-localisées. Celles-ci peuvent en effet mettre une pression supplémentaires sur les couches de plus bas niveau. Du coup, une optimisation considérée sur sa seule couche logicielle semblera donner de bons résultats alors que considérée à l’échelle de tout le système elle pourra au final dégrader les performances globales.”

A rapprocher de la définition de la Théorie des contraintes de Goldratt :

La Théorie des Contraintes a pour principe fondamental que le flux généré par une organisation est limité par au moins un processus (i.e. un goulet d’étranglement). La production de valeur ne peut donc être augmentée qu’en augmentant la capacité de production au niveau du goulet d’étranglement.

Les cinq étapes clés de mise en œuvre de la Théorie des Contraintes sont :

  1. Identifier la contrainte (le goulet d’étranglement)
  2. Exploiter la contrainte (augmenter son utilisation et son efficience)
  3. Subordonner tous les processus au processus contraint
  4. Elever la performance de la contrainte (si nécessaire)
  5. Recommencer à l’étape 1 si la contrainte a changé

Telle que rapportée par Bertrand : La cause profonde participe d’un phénomène trop souvent observé dans les entreprises, mêmes de service : on se focalise sur des optimas locaux et, ce faisant, on nuit à l’atteinte d’un maximum global.

Les architectures de systèmes d’information seraient-elle à ce point semblables à nos organisations ? Ce serait une indication intéressante sur la complexité que ces dernières ont atteinte.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s