Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Bernard Fedotoff

Développement .NET et mon quotidien

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.

Vecteurs 2

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.

Vecteurs

Les équipes de Redmond ont travaillé sur le sujet et sont arrivé aux conclusions suivantes :

Christmat Father :-))

- 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 :
Posted: vendredi 26 septembre 2008 17:16 par bfedo
Classé sous :

Commentaires

MadMatt a dit :

Waahh c'était super intéressant !

Personnellement je crois qu'il m'arrive d'être tantôt l'un, tantôt l'autre (selon le langage et le domaine).

# septembre 27, 2008 20:06

nickadele a dit :

Je ne m'attendais pas du tout à ce genre d'article en lisant le titre. Super intéressant et très bien présenté.

Je dirais également que selon les domaines d'activités, je serai tantôt l'un tantôt l'autre.

# septembre 28, 2008 11:42

zbla a dit :

Le plus intéressant c'est que pour générer des revenus,

on demandera rapidement à Elvis de récupérer le proto de Mort

afin de l'intégrer dans la produit final,

tout en sachant que l'estimation

de la durée du projet aura été faite en considérant

qu'il travaillait sur du code d'Einstein  !

La boucle est bouclée ;-)

# novembre 7, 2008 16:40
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Comment mapper une vue SQL sur une collection de complex type? par Matthieu MEZIL le il y a 14 heures et 39 minutes

- SQL Server : Query Notification ou comment être notifié de modifications de données côté application (SqlDependency) par SQL Server vu par Christian Robert le il y a 20 heures et 39 minutes

- [WF4] Un Binding Activity/ActivityDesigner qui passe mal? par Blog de Jérémy Jeanson le il y a 22 heures et 2 minutes

- MyTIC – SharePoint 2010 : déjà un mythe Microsoft ? par Le Blog (Vert) d'Arnaud JUND le 03-19-2010, 08:54

- TechDays 2010 Genève : Retrouvez-moi pour une session sur la Haute disponibilité et le ScaleOut avec SQL Server par SQL Server vu par Christian Robert le 03-18-2010, 15:45

- [MIX10] Keynote deuxième journée – Internet Explorer 9, Html5, Visual Studio 2010, OData par Atteint de JavaScriptite Aiguë [Cyril Durand] le 03-17-2010, 19:40

- Certifications beta .NET 4 par Kévin Gosse le 03-17-2010, 19:33

- [Mix 2010] – Microsoft Translator Technology Preview V2 par RedoBlog - The .NET Gentleman !!! le 03-17-2010, 18:53

- Lancement en Preview de Cyclone lors des TechDays 2010! par Blog de Frédéric Queudret le 03-17-2010, 16:30

- [WP7] Je ne veux pas d’un nouvel iPhone par Le blog de FremyCompany le 03-17-2010, 13:11