La base de cet article est un pavé écrit par Venkatesh Rao de Ribbonfarm: celui-ci.
Pour moi c’est à lire absolument, et d’autant plus si vous êtes dans un de ces deux cas:
- Vous travaillez avec un architecte des étoiles,
- Vous êtes en train de modéliser la réalité pour en faire une application, et ça commence à faire mal à la tête.
Qu’est ce que j’appelle un architecte des étoiles? C’est un architecte perdu pour la cause dans son délire mégalo-maniaque de modéliser le monde entier dans son application.
Les symptômes?
- Le modèle de l’application qui comporte trop de niveaux d’abstractions (faire un ETL avec un ETL, redévelopper SSAS dans SQL Server…),
- Le modèle que plus personne ne comprend de bout en bout à part l’architecte des étoiles,
- Le projet qui inclut le développement d’un framework (alerte rouge),
- La documentation qui fait plus de 200 pages…
- Le fait que les développeurs passent plus de temps à coder des « corrections » des outils de dev que pour implémenter l’application
Ce qui nous ramène à l’article de Ribbonfarm, qui vient nous expliquer comment naissent ces délires étoilés:
- Tout commence quand on regarde une réalité complexe et déroutante, avec pour volonté de l’analyser,
- Cette réalité étant complexe, on échoue à répétition à intégrer toutes les subtilités dans son analyse,
- On attribue alors cet échec (et la frustration qui va avec) à une irrationalité supposée de ce qu’on analyse plutôt qu’à ses propres limites,
- On invente alors une version de la réalité telle qu’elle devrait être,
- On impose ensuite cette vision comme vérité, quitte à détruire la réalité qui existait avant,
- Enfin on regarde l’impossible utopie élaborée avec amour échouer lamentablement
Toutes ces étapes sont naturelles, humaines, il ne sert à rien de vouloir les éviter absolument.
Ce qui est important, c’est que lorsque ça commence à faire mal (étape 3, étape 6), on arrive à mettre son amour propre de côté et repartir de 0. A force d’itération la connaissance et la compréhension vont s’améliorer, un modèle correct finira donc bien par émerger tôt ou tard. Bien évidemment, une itération prenant du temps, il faut donc mieux itérer sur des maquettes, voir des prototypes, pendant une grosse phase de conception, plutôt qu’itérer sur des cycles de développements complets à 200 jours-hommes pièce…
Vous pouvez maintenant vous demander qu’est ce qui différencie l’architecte étoilé de ses pairs, si la nature humaine force tout le monde à suivre le même chemin de croix? C’est son manque définitif de remise en question lorsque tout s’écroule qui l’identifie clairement: son modèle était parfait, ce n’est quand même pas de sa faute si les développeurs étaient si bêtes!
10 commentaires sur « Un beau métier? Architecte des étoiles! »