Mort, Elvis et Einstein
Ou comprendre le positionnement des technologies de développement de Microsoft.
Comme beaucoup, mes clients ont pour principal objectif de créer suffisamment de valeur pour pouvoir gagner plus que ce qu’ils dépensent, chaque année. Et dans mon monde, la technologie est souvent vue comme le principal véhicule de création de valeur – mais ce n’est pas le seul, loin de là. Si une bonne technologie suffisait pour faire des entreprises rentables et des projets réussis, cela se saurait !
Microsoft, qui a les mêmes préoccupations de rentabilité, s’est orienté très tôt sur une démarche d’augmentation de la valeur basée sur quatre vecteurs principaux : la technologie bien sûr (par rapport à laquelle des standards de facto sont créés), le marché ciblé, les utilisateurs (au sens large), et les scénarios délivrés.

A mon sens, cette segmentation transparait fortement dans les technologies de développement distribuées par Microsoft, et aide à comprendre le positionnement de chacune de ces dernières et les compétences requises pour bien les implémenter. Car pour continuer à créer sa valeur, Microsoft a besoin que ses technologies de développement soient utilisées par les bonnes personnes pour délivrer les bons scénarios !
En gros, quels utilisateurs sommes nous réellement et que souhaitons nous faire avec ces technologies.

Les équipes de Redmond ont travaillé sur le sujet et sont arrivé aux conclusions suivantes :
 |
- Un groupe de personnes est humainement plus facilement appréhendé comme un personnage virtuel, facilement mémorisable, et suffisamment décrit pour en comprendre le contour et les compétences ; Par exemple, Toto est un personnage traditionnel de nos écoles et le Père Noël en est un autre bien courant dans nos familles ! |
|
- Chacun des ces personnages possède des compétences propres, qui l’aident à réaliser des scénarios bien déterminés – Toto raconte des histoires, alors que le père Noël distribue des cadeaux (pour les baffes, c’est le père Fouettard). |
Par analogie, si on peut imaginer « Toto développe une macro Excel », le scénario « Toto développe un feature pour Sharepoint » est une bonne blague qui va faire rire les collègues de Toto, mais pas les acheteurs potentiels dudit feature (enfin, surtout les équipes de support).
Dans le domaine du développement, l’équipe de Visual Studio utilise trois personnages principaux :
- Mort : c’est un développeur n’ayant pas à la base un cursus d’informaticien, mais devant venir à la programmation par l’intermédiaire d’un autre métier consommateur de technologie (par exemple, statisticien, biologiste, ingénieur, roboticien, etc.). Il sélectionne et utilise les technologies de manière ad’hoc et opportuniste par rapport aux besoins de son métier de base ; Il n’hésite pas à changer de solution ou de composant s’il trouve quelque chose qu’il juge plus adaptée à ses problématiques ;
- Elvis : C’est un développeur qui a choisi avant tout un domaine technologique, et qui utilise ce dernier dans ses développements quotidiens, en cherchant à travailler sur des projets pouvant l’aider à étendre sa compétence. De cursus initial informatique, il est définit comme un pragmatique ayant la capacité à développer ses compétences tout en travaillant sur un projet de longue durée.
- Einstein : C’est un développeur comme Elvis, mais qui a la capacité à (entre)voir les relations entre les choses grâce à une approche quelque peu obsessionnelle qui le pousse à créer la solution la plus optimum à un problème donné ; Il aime maîtriser, connaître et comprendre la totalité des codes produits dans une solution.
En regardant les technologies de développement au travers de ce prisme, on comprend mieux le positionnement de chacune d’entre elle. Alors que Mort va privilégier une prise en charge rapide du produit (le "quick", mais cerainement aussi "dirty"), Elvis va se concentrer sur le développement à l’aide des objets (Il connaît la POO, donc !), alors que Einstein va aller jusqu’à tenter de modifier et/ou surcharger les mécanismes internes (c'est l'expert du fond du couloir, qui mange ses pizzas devant son clavier).
Toute la difficulté est que ces trois catégories ne sont pas exclusives entre elle. Personnellement, je suis certainement un Mort de l’ISA Server, et pourtant j’ai quelques connaissances un peu plus proches du code en .Net (il doit bien exister un domaine dans .Net où je puisse jouer à l’Elvis). Nous mélangeons tous deux ou trois personnages.
Pour l'exemple, ASP.NET est une technologie pour Mort, Elvis et Einstein :
- Par simple glisser-déplacer de contrôles, il est possible pour Mort de développer des applications Web ad’hoc relativement puissantes, intégrant même aujourd’hui des mécanismes AJAX ;
- Elvis pourra respecter une architecture en couches et avoir l’impression de pouvoir partager ses classes d’objets en développant en VB.Net ou en C# ; Si Elvis est puriste, il préfèrera le C# qui est plus élégant et plus sécurisé ; Pour l’aider, Elvis va utiliser les « Microsoft Entreprise Libraries », qui sont bien utiles même si on ne regarde jamais comment elles ont été développées.
- Einstein va commencer par développer son architecture de référence respectant une factorisation de besoins fonctionnels et d’indicateurs de qualités spécifiques, qu’il utilisera par la suite dans tous ses développements de site Web en ASP.NET ; Cette architecture sera basée sur des composants de services et des modules http propres ; En tout cas, il tentera de ne jamais utiliser un code en licence partagée ! Mais cela restera bien de l’ASP.NET.
La capacité d'ASP.NET à s'adapter aux trois scénarios explique certainement en partie le succès que connaît cette technologie.
Par contre, Quid des autres ? A y regarder de plus près, à l’exception de Visual Studio au sens large, de la personnalisation de SharePoint avec Sharepoint Designer, ou du paramétrage de CRM avec la modification des métadonnées, toutes les autres technologies de développement s’adressent à des Elvis ou des Einstein.
Maintenant, la vrai question est : Est-il possible de gagner de l’argent en réalisation de projets de développement si on n’est ni Elvis, ni Einstein ? A regarder les technologies dans le prisme de la classification des personnages, la réponse donnée est évidement Non ! Sinon les scénarios correspondants auraient été créés …
Et vous ? Qui êtes vous ? Mort ? Elvis ? Einstein ?
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :