jeudi 27 novembre 2014

La Loi de Dietzler

La Loi de Dietzler, énoncée par Neal Ford lors de sa conférence “Abstraction Distraction” ( et qui n’est pas sans rappeler le Principe de Pareto), évoque une loi empirique selon laquelle un outil informatique présentant une abstraction élevée ne pourra jamais répondre à 100% des besoins de l’utilisateur.

Cette loi a été initialement rapportée par Terry Dietzler, un collègue de Neal Ford, qui travaillait alors sur des projets Access. Neal Ford l’étend à tous les Langages de 4ème génération.

 Il définit trois catégories :

  •  80% des besoins seront rapides et facile à créer. 
  • 10% des besoins seront possibles à créer mais nécessiteront d’adapter l’outil, le contourner, le “tordre”. 
  • 10% des besoins restants seront impossibles à créer car l’utilisateur sera emprisonné par une abstraction trop élevée. 
 Si un outil est prévu pour un cadre trop idéal et présente un niveau d’abstraction trop élevé sans offrir de possibilités de sortir de ce cadre, alors l’utilisateur va se sentir frustré de ne pas pouvoir en tirer parti intégralement et va, à terme le délaisser.

 Selon Ford, les L4G suivent ce cadre : ils permettent d’implémenter très rapidement des problématiques générales, mais présentent trop d’abstractions ce qui rend compliqué - voire impossible - l’implémentation des cas particuliers. En pratique, on se rend compte qu’aucun cadre n’est idéal et que beaucoup de développeurs - si ce n'est tous - ont besoin d’implémenter des cas particuliers.

 Ce que l’on peut tirer de cette loi, c’est que si l’on souhaite mettre en place un outil offrant un niveau d’abstraction élevé, il faut toujours laisser à l’utilisateur la possibilité d’accéder à la couche de plus bas niveau (sous cette abstraction), pour qu’il puisse prendre en compte les exceptions représentées par les cas particuliers à son contexte.