Les coulisses du développement de Windows 10 dévoilées

Les coulisses du développement de Windows 10 dévoilées Lors d'un entretien exclusif, le directeur technique de Microsoft France, Bernard Ourghanlian, nous a détaillé comment l'éditeur développe aujourd'hui Windows.

Le développement de la prochaine version majeure de Windows est finalisé, ou presque. C'est en substance ce que nous a confié Bernard Ourghanlian, directeur technique de Microsoft France, lors d'un entretien exclusif. "Le développement d'un Windows passe toujours par trois versions, que nous appelons désormais Milestone 1, Milestone 2 et Milestone 3. Elles correspondent respectivement aux versions Alpha, Beta et Release Candidate d'antan", nous explique Bernard Ourghanlian. Et dès la Milestone 1, la nouvelle mouture de Windows est diffusée assez largement au sein de Microsoft, y compris en dehors des groupes produit Windows.

La prochaine version majeure de Windows déjà en version bêta ?

ourghanlian
Bernard Ourghanlian, directeur technique de Microsoft France. © Microsoft

La direction des systèmes d'information de Microsoft joue un rôle clé dans le dispositif. Elle fait partie des tous premiers acteurs internes à pouvoir tester une nouvelle version de Windows. C'est aussi elle qui prend en charge la distribution des pré-versions du système d'exploitation au sein du groupe, pour en permettre la prise en main et le test par d'autres directions. En étroite collaboration avec les groupes produit, elle occupe également un rôle central en vue d'assurer un certain niveau de qualité à ces premiers livrables.

"En général, nous attendons le Milestone 2 pour commencer à diffuser une nouvelle mouture auprès de nos partenaires constructeurs. Il est en effet nécessaire de bénéficier d'une palette fonctionnelle suffisante pour pouvoir commencer à réaliser plus largement des tests matériels", souligne le directeur technique. Et Bernard Ourghanlian de lâcher : "Vous pouvez d'ailleurs imaginer que la prochaine version majeure de Windows est d'ores et déjà entre les mains de certains équipementiers." Une petite phrase qui semble bien vouloir dire que la future version de Windows a donc déjà au moins atteint sa phase Milestone 2 (ou bêta)...

Un développement agile depuis Windows 8

Le développement de Windows s'adosse aux méthodes agiles. "Leur mise en œuvre a été décidée après l'échec Vista, qui a d'abord été l'échec d'un projet avant d'être un échec commercial", analyse Bernard Ourghanlian, n'hésitant pas à parler de "faillite d'un modèle d'organisation". Windows Vista était pourtant le plus important développement jamais lancé par Microsoft. Il a mobilisé près de 6000 développeurs, avec l'objectif d'aboutir à une version finale en trois ans. Finalement, l'OS verra le jour au bout de cinq ans. "Nous avions déjà des équipes de petites tailles, mais beaucoup trop de niveaux hiérarchiques, et des cycles en tunnel trop lourds pour un projet de cette taille", admet Bernard Ourghanlian. Au total, l'avis de 80 personnes était nécessaire pour décider d'une fonctionnalité... Le gros dérapage aura lieu lors de la phase d'intégration finale de l'OS qui, après un an de travail, est reprise à zéro du fait d'un trop grand nombre de bugs. On connait la suite : Vista sort avec un faible nombre d'applications et surtout de pilotes de périphérique, ces aspects étant passés au second plan.

Un vaste chantier de transformation de l'organisation tirant les leçons de "l'échec de Vista".

En interne, le choc est immense. D'autant que le groupe de Redmond n'a pas l'habitude des échecs. Les pertes s'élèvent à plusieurs milliards de dollars. Un vaste chantier de réorganisation est donc lancé, avec pour objectif d'aboutir à une structure plus agile. Mais c'est un vrai changement de culture pour Microsoft. Avec la pleine implication du top management, cette transformation nécessitera trois ans pour aboutir.

Le mode de management est profondément revu. C'est à partir de ce moment que le système d'évaluation "Stack Rank" commence à être abandonné. Objectif : passer d'un management individuel à "la carotte et au bâton", à "un management facilitateur, à travers lequel ce n'est plus l'individu qui est évalué, mais l'équipe" explique le directeur technique.

 

Des petites équipes de développeurs très autonomes

Aujourd'hui, les équipes de développement Windows comptent entre 7 et 10 personnes. Très autonomes, elles se composent chacune de trois profils : des développeurs, des responsables d'assurance qualité, et des manageurs de programme - qui se chargent notamment de la spécification des API. Au sein de l'équipe, ces trois sous-groupes disposent d'un manager de même profil. Chaque équipe est ainsi pilotée par trois personnes. Quant à la structuration des équipes entre elles, elle est désormais verticale, découpée par fonction du logiciel. C'est le concept de feature team avancé par plusieurs méthodes agiles (FDD ou Scrum). "L'OS est ainsi découpé verticalement. Ce qui permet à chaque équipe de pouvoir naviguer de l'interface graphique aux couches basses, avec à la clé la présence d'un représentant des utilisateurs, ou product owner", décrypte Bernard Ourghanlian. 

L'enjeu de cette nouvelle structure : se donner la possibilité de pouvoir livrer les fonctions de Windows en mode incrémental, sans être tributaire d'une mise à jour complète de toutes les couches de l'OS à chaque évolution. Ce qui était nécessaire auparavant, à cause de la structure des équipes par couche (du noyau à l'IHM) qui prévalait jusqu'ici. La nouvelle structure est aussi beaucoup plus motivante pour les collaborateurs qui travaillent ainsi sur des fonctions de Windows directement visibles. Résultat : alors que l'enquête de satisfaction interne au groupe pouvait précédemment faire apparaître un écart de notation de 5 à 7 points entre les équipes de développement et les filiales, cette différence s'est estompée dans la dernière édition annuelle de cette étude.

Une organisation orientée "déploiement continu"

"Le développement en mode agile a commencé avec Windows 8", poursuit Bernard Ourghanlian. Scrum est la principale méthode agile utilisée, mais d'autres peuvent l'être en fonction des besoins. En amont de toute nouvelle version majeure de l'OS, le processus commence par la définition de "défis fonctionnels". Profils techniques et marketing travaillent main dans la main sur la question. Avec l'aide de sociologues, des scénarios orientés sur des profils d'utilisateur (utilisateur lambda, geek, développeur...) sont ensuite dessinés. Puis les "feature teams" et leur périmètre de couverture fonctionnelle sont définis. Les sprints (ou phases de développement fonctionnel) de Windows courent en général chacun sur 6 semaines, contre 2 à 3 semaines pour les autres produits de Microsoft. Le dispositif est très souple : plusieurs sprints peuvent être lancés pour développer une fonction. Il est aussi possible qu'une fonction soit proposée à quelques utilisateurs internes, avant d'être réintégrée dans la branche de développement principale.

La date ciblée d'arrivée sur le marché : Noël.

L'information circule aussi de manière transversale entre les équipes. La solution de réseau social d'entreprise de Microsoft (Yammer), que le groupe utilise aussi largement, permet de partager la documentation technique. Après deux sprints réalisés, chaque équipe présente ce qu'elle a développé à son N+1 et N+2. "Notre objectif est traditionnellement de lancer une nouvelle version majeure de Windows pour Noël pour des raisons commerciales évidentes. L'idée est par conséquent d'aboutir à une version finalisée de Windows fin mai", confie Bernard Ourghanlian. Il est en effet nécessaire de laisser le temps aux partenaires OEM du groupe de tester l'OS, avant un lancement officiel généralement fixé à octobre.

Un déploiement continu tout au long du cycle de vie de l'OS

Une fois la nouvelle version lancée commercialement, Microsoft collecte les rapports d'erreur des terminaux Windows via l'outil Dr Watson intégré par défaut à son OS. Des informations qui permettent ensuite au groupe de concevoir ses mises à jour de sécurité mensuelles (les Patchs Tuesday), mais aussi de travailler à l'amélioration à moyen et long terme du système. "Avec Windows 8.1, nous proposons des mises à jour tous les 5 à 6 mois, ce qui a commencé avec Windows 8.1 Update", souligne le DT de Microsoft France. Les remontés d'informations sur le produit passent aussi par le biais groupes mis en place dans tous les pays. Mais aussi par la collecte des avis que peuvent poster les clients sur les forums ou réseaux sociaux. Microsoft cherche ainsi à orienter toute l'organisation Windows vers une logique de développement et déploiement continu.