Styles

lundi 1 septembre 2008

Jargon, effets de mode et confusions dans l'informatique

En lisant de nombreux blogs sur l'informatique, j'ai comme l'impression que de nombreux débats sont futiles voire contreproductifs. Ça me semble particulièrement le cas dans le monde de "l'Agile Development" ainsi que tout ce qui tourne autour de la SOA (Service Oriented Architecture)

Beaucoup d'opportunistes s'empressent de construire un jargon pour représenter des concepts qui n'en sont pas. Pourquoi tous ces termes lourds et vagues comme "agilité" "orientation service" "orchestration", "chorégraphie", ... L'utilisation d'un de ces termes ne fait pas avancer un chouilla dans la résolution d'un problème.

"L'agilité" n'est pas une méthode et encore moins une méthodologie : qui ne souhaite pas être agile sur un projet ? Face à temps de jargon, les termes se mélangent. Ce sont des termes pièges qui visent à enfermer les naïfs dans des schémas de pensées clé en main. Or le problème de ces schémas c'est qu'ils veulent donner des recettes toutes faites alors que justement, l'important est de reconnaitre que (surtout en informatique) chaque problème est unique.

Si un problème n'est pas unique, il faut partir du postulat qu'il doit normalement exister un logiciel tout prêt pour le résoudre.

L'important est de savoir s'adapter à la situation. Le seul art à maîtriser correctement est la gestion de projet. La gestion de projet ne présuppose pas le processus de développement à employer. Un projet pourra viser de nombreuses itérations avec écritures de scenarii et développement dirigé par les tests si la solution le nécessite. Mais cette façon de travailler n'est pas forcément la meilleur à adopter pour n'importe quel projet.

Par exemple, l'utilisation de "releases" fréquentes pour le client et la définition au fil de l'eau des spécifications via des scenarii risque de faire aboutir à des logiciels coûteux alors qu'une analyse, une réflexion d'ensemble au début du projet aurait pu aboutir au choix de la mise en place d'un progiciel du marché.

Car c'est bien là l'enjeu de l'informatique aujourd'hui : faire un maximum de réutilisation, ne pas réinventer la roue. La principale activité pour arriver à cet objectif est l'analyse de système.

La sclérose en plaque n'est pas seulement dans le cerveau des prophètes de "l'agile". On la retrouve partout, notamment chez Microsoft, qui en 2008 est fière de sortir enfin un composant DataGrid digne de ce nom !

Quelle avancée dans le domaine de l'informatique ! ça fait juste 30 ans que les grilles de données existent sur PC et Mac ! quand on pense aux premiers tableurs comme VisiCalc, et qu'on regarde ce qui est reconnu comme une avancée dans "Microsoft .Net Framework 3.5 WPF", on se dit que vraiment, on a fait du surplace pendant 30 ans

L'important pour un informaticien est la reconnaissance que l'informatique n'est pas une solution en soi pour le client. L'analyse du besoin est l'activité déterminante du succès ou de l'échec d'un projet.

Aucun commentaire: