L’équipe de Windows 7


Merci à tous pour vos commentaires et courriels. C’est avec beaucoup de plaisir que je vois ce dialogue s’établir, et le lancement de ce blog a aussi insufflé une énergie nouvelle dans l’équipe. Il me parait maintenant naturel de procéder aux présentations, et de décrire même sommairement la composition de l’équipe représentée par ce blog.


Avant de commencer, je voudrais dire quelques mots sur ce que l’on est en droit d’attendre de ce blog, et en premier lieu sur les nombreux commentaires et courriels que j’ai reçus – de fait, j’ai passé la plus grande partie de mon weekend à lire vos réponses. Certains thèmes sont récurrents. En général le blog a été reçu de façon très chaleureuse, et nous en sommes ravis. La requête de loin la plus fréquente concerne la performance de Windows, souvent simplement pour nous demander de « rendre Windows plus rapide ». C’est un sujet complexe, et nous avons l’intention d’y consacrer du temps sur ce blog dans les mois qui viennent. Il y a aussi de nombreuses requêtes spécifiques représentant souvent toutes les opinions possibles sur un même problème – certains nous suggèrent de nous « débarrasser de la fonctionnalité <X> », ou de ne « pas faire <X> », alors que d’autres nous confirment que « quoiqu’il arrive, il est très important de garder (ou faire) <X> ». Personnellement, je pense que l’intérêt de ce blog est en grande partie de pouvoir discuter des différents aspects d’un problème donné. Même une notion aussi cartésienne que la performance d’un système présente de nombreuses subtilités. Par exemple, certains suggèrent que la meilleure solution pour améliorer la performance de démarrage serait de ne rien charger au lancement de l’ordinateur, tandis que d’autres pensent que retarder le chargement ne ferait que les ralentir plus tard ; d’autres enfin suggèrent que la meilleure approche serait de fournir un gestionnaire de démarrage laissant à chacun son libre choix. Chacune de ces méthodes a ses avantages propres, et mérite d’être débattue, mais démontre aussi les subtilités et complexités d’un sujet apparemment simple.


En second lieu, et à notre grande surprise, un certain nombre d’entre vous ont mis en question l’authenticité de ce blog. Certains ont même suggéré que les articles étaient écrits par des prête-noms, ou que ce blog n’est qu’un stratagème. Soyez rassurés : j’écris ce blog dans « Windows Live Writer », et je le publie directement. Ce blog est authentique – y compris les fautes de frappe, les fautes d’orthographe, et toutes les autres. Il n’y ni intermédiaire ni filtrage. Des membres de l’équipe y contribueront aussi, et ils signeront leurs articles en nom propre (je signerai mes commentaires avec mon identité msdn, steven_sinofsky).


Troisièmement, quelle sera la fréquence de parution, et quand allons-nous aborder des thèmes portant sur « les fonctionnalités de Windows 7 » ? Quand nous avons dit que nous allions publier « régulièrement », nous n’avions pas réellement de plan ou de calendrier particulier en tête ; nous astreindre artificiellement à une fréquence donnée serait contradictoire à la nature même d’un blog. En gros, nous avons l’intention de suivre un modèle similaire à celui que vous connaissez sur IEBlog. Je vous dévoilerai qu’à Microsoft, personne ne m’a encore accusé de ne pas participer suffisamment à mon blog interne. J


Comme nous l’avions dit dans notre premier article, nous avons l’intention de parler de la création de Windows 7 (le « comment »), et la première étape est de vous présenter les ingénieurs qui réalisent le projet. Nous nous pencherons par la suite sur le « pourquoi » et le « quoi » du produit lui-même.


Commençons donc par rencontrer l’équipe…


Il est facile de se représenter l’équipe Windows comme un groupe ou une entité, ayant à l’occasion une personne donnée agissant en tant que porte-parole – soit au cours d’une présentation lors d’une conférence, ou à l’occasion de la publication d’un livre ou d’un article, ou de la parution d’un blog. En fait, Windows est le produit de tout Microsoft, le fruit d’une multitude d’apports provenant d’individus et d’équipes de développement divers répartis dans toute l’entreprise. Cependant, l’équipe de conception de Windows à proprement parler est cogérée par Jon et moi. Jon dirige le système d’exploitation qui comprend entre autres le noyau, toute l’infrastructure des pilotes, le système réseau et les outils de développement (pour le client ainsi que le serveur). Quant à moi, je travaille sur l’équipe « Windows Client Experience » qui développe entre autres le « shell Windows », le bureau de travail, les composants graphiques, et tout l’audiovisuel. Windows Media Center, un autre composant important du produit Windows, est développé par l’équipe responsable des produits TV Microsoft (IPTV, extendeurs, etc.).


Organiser et mettre en place une telle équipe est une entreprise difficile, dont la partie la plus importante reste de planifier et de répartir l’ensemble du travail. Cette planification fait partie intégrante de notre objectif d’améliorer la cohérence et l’intégration de Windows 7. Aussi au lieu d’une organisation monolithique, ou de deux équipes, nous considérons que l’équipe Windows 7 est constituée d’environ 25 « équipes de fonctionnalité » différentes.


Chaque équipe de fonctionnalité  est responsable d’une partie spécifique de Windows 7 – code, fonctionnement, qualité, et développement. L’équipe de fonctionnalité est l’unité de base dans la répartition et la coordination du travail à travers l’organisation. Ce niveau de granularité présente certains avantages pratiques – une équipe de fonctionnalité  peut tenir entière dans une salle de réunion, ou aller ensemble au cinéma. La taille moyenne d’une équipe est d’environ 40 développeurs, quoique ce chiffre varie. Une équipe de fonctionnalité  est définie à la fois par ce sur quoi elle travaille, et par les ingénieurs qui la constituent.


En général, les équipes de fonctionnalité  de Windows 7 portent les noms des divers composants de Windows avec lesquels vous êtes déjà familiers. Certaines équipes associées aux éléments de base de Windows sont restées pratiquement inchangées depuis plusieurs versions, alors que de nouvelles équipes ont été créées pour travailler sur de nouvelles fonctionnalités. Certaines équipes travaillent principalement sur la version serveur (par exemple la Machine Virtuelle), alors que d’autres (tel que Internet Explorer) créent des produits aussi disponibles en dehors de Windows 7.


En général, une équipe de fonctionnalité  est responsable à la fois de composants d’architecture et de divers scénarios de Windows. Le terme « fonctionnalité » lui-même est ambigu ; certains parlent de fonctionnalité  pour un élément de l’interface utilisateur, alors que d’autres utilisent le terme pour designer des composants d’architecture (tel que TCP/IP). Notre philosophie est d’établir un équilibre entre scenarios et architecture. Nous évitons aussi de séparer la partie infrastructure de la partie interface utilisateur afin de faire en sorte que les équipes soient responsables d’un scénario de bout-en-bout (par exemple, « Recherche et Organisation» construit à la fois le moteur d’indexation et l’interface utilisateur de recherche). Voici une liste partielle des équipes de fonctionnalité  de Windows 7 (par ordre alphabétique anglais) :



  • Applets and Gadgets : Petites Applications et Gadgets

  • Assistance and Support Technologies : Techniques de Support et d’Assistance aux Utilisateurs

  • Core User Experience : Expérience Utilisateur

  • Customer Engineering and Telemetry : Télémétrie

  • Deployment and Component Platform : Déploiement et Plateforme

  • Desktop Graphics : Graphiques

  • Devices and Media : Périphériques et Audiovisuel

  • Devices and Storage : Périphériques et Stockage

  • Documents and Printing : Documents et Impression

  • Engineering System and Tools : Outils de Développement

  • File System : Système de Fichiers

  • Find and Organize : Recherche et Organisation

  • Fundamentals : Systèmes Fondamentaux

  • Internet Explorer : Internet Explorer, y compris le déploiement hors Windows

  • International : Internationalisation

  • Kernel & VM : Noyau et Machine Virtuelle

  • Media Center

  • Networking – Core : Réseau – Base

  • Networking – Enterprise : Réseau – Entreprise

  • Networking – Wireless : Réseau – Sans Fil

  • Security : Sécurité

  • User Interface Platform : Plateforme d’Interface Utilisateur

  • Windows App Platform : Plateforme d’Applications Windows

Je pense que pour les besoins de cet article, la plupart de ces noms parleront d’eux-mêmes – dans nos publications futures les auteurs feront référence à cette liste pour indiquer l’équipe à laquelle ils appartiennent.


Ceci devrait vous donner une idée des multiples sous-systèmes de Windows, ainsi que de la façon dont nous avons divisé un projet complexe en équipes plus petites. Bien entendu tout au long de ce projet de nombreuses fonctionnalités sont développées par plusieurs équipes travaillant en collaboration. Cela requiert de la pratique. Par exemple, pour des raisons d’efficacité ou de performance, il est souvent naturel de développer une fonctionnalité par « couches » successives, en général de bas en haut (en commençant par la plateforme, et en finissant par l’interface utilisateur). Cependant, l’usager utilisera souvent plusieurs couches en parallèle, et les administrateurs de réseaux souhaitent en général gérer les ordinateurs de haut en bas.


Je reconnais qu’il peut s’agir ici d’un point de vue interne, puisqu’en général il vous est impossible de savoir dans quelles équipes « vivent » diverses fonctionnalités. Par exemple, les plateformes de Tablet PC et d’encrage, ainsi que la reconnaissance vocale, le « multi-touch » et les modèles d’accessibilité font partie de l’équipe de Plateforme d’Interface Utilisateur. Cela s’explique par la nécessité de partager l’infrastructure de tous les mécanismes « de saisie », même si un même usager n’en utilisera pas tous les niveaux. Cette conception commune d’API pour toutes les saisies de données permettra aux développeurs de bénéficier de tous les modes d’interaction utilisateur au travers d’un seul jeu d’API.


Une autre caractéristique de nos équipes de fonctionnalité est la façon dont elles sont composées. Une équipe de fonctionnalité comprend trois branches d’ingénierie: les ingénieurs de développement de logiciel (« software development engineer », « sde » ou « dev »), les ingénieurs de développement de logiciel de test (« software development engineer in test », « sdet », désolé, je n’ai pas encore écrit de profil de travail à usage externe) et les responsables de programmes (« program manager », « pm »). La combinaison de ces trois disciplines est une caractéristique unique de Microsoft qui a même attiré l’attention de certains chercheurs. Les liens ci-dessus vous référeront aux descriptions de « dev » et de « pm » décrites sur mon ancien blog. (je dois toujours créer un article similaire sur le « sdet » !).


De façon succincte, le « dev » est responsable de l’architecture et du code, le « pm » est responsable de la définition et de la spécification de la fonctionnalité, et le « testeur » est responsable de la validation et défenseur ultime de l’expérience du client. Tous sont responsables de la qualité et de la performance, chacun apportant une perspective différente. Pour chaque fonctionnalité, des ingénieurs de dev, test et pm collaborent en équipe, à la fois conceptuellement et littéralement. Cet équilibre des pouvoirs est un concept clé dans notre façon de travailler, et assure une approche équilibrée dans le développement de Windows 7. Notre organisation est structurée pour permettre à des dev de travailler pour des dev, des sdets pour des sdets, et des pm pour des pm. En d’autres termes, nous sommes organisés par « fonctions de développement ». Deux optimisations sont ainsi obtenues – nous mettons l’accent sur la compétence dans un domaine et une discipline donnés, et nous nous assurons également de concevoir le produit conjointement et non pas en silos.


Nous parlons de ces trois disciplines comme un tout, car nos équipes de fonctionnalité sont composées de n développeurs, n testeurs et 1/2 n responsables de programme. Ce ratio est assez constant à travers l’organisation. En moyenne, une équipe de fonctionnalité dans Windows 7 compte environ 40 développeurs.


Notre équipe de conception comprend aussi un certain nombre de personnes qui travaillent sur l’ensemble du produit :



  • Développement de contenu – les rédacteurs et les éditeurs qui créent l’aide en ligne, le site Web, les documents SDK et les documents de déploiement.

  • Planification du produit – responsable de l’étude des besoins des clients qui informe la sélection des fonctions du produit. La planification produit coordonne également notre travail avec nos partenaires dans l’écosystème Windows en matière de design et de développement.

  • Design – développe le modèle d’interaction, le langage graphique, et le langage conceptuel de Windows 7.

  • Recherche et ergonomie – crée des études en laboratoire et sur site qui montrent comment les utilisateurs répondent aux produits existants et aux fonctions proposées.

Certains d’entre vous ont émis des doutes ou des questions quant à l’effectif de l’équipe de Windows – trop importante, sa taille poserait maintenant problème. Je ferai simplement remarquer que l’ensemble de vos réponses sur ce blog indique une importante demande de nos usagers en faveur d’une gamme de fonctionnalités nouvelles, et de modifications à apporter à Windows. Windows est un énorme projet qui requiert énormément d’effectifs. Au risque de paraître trivial, mon opinion est que l’équipe Windows doit avoir la taille appropriée – ni trop grande, ni trop petite, mais doit surtout être gérée efficacement pour que sa charge de travail soit proportionnelle à sa taille, de façon à produire les résultats attendus. Dans une scène du film Amadeus, l’empereur fait remarquer que le Mariage de Figaro contient « bien trop de notes », ce à quoi Mozart répond : « Il y a juste le nombre de notes nécessaires, Majesté, ni une de plus, ni une de moins ». Lorsque l’empereur insiste et demande à Mozart d’ôter quelques notes, Mozart répond simplement : « A quelles notes pensez-vous en particulier ? ». Ce sont les personnes composant l’équipe qui définissent le produit et développent les scénarios de bout en bout, et notre défi est donc d’avoir l’équipe et la structure appropriées pour maximiser notre capacité à accomplir ces taches – ni trop, ni trop peu.


Je me suis promis qu’aucun de mes billets ne ferait plus de 4 pages, et je crois en être proche. Vos commentaires sont excellents, et nous aident à cibler nos prochains billets. J’espère que celui-ci aidera à préciser le bon contexte.


–Steven

Comments (15)

  1. ThomasDele says:

    Ce billet est vraiment très interressant, il est vrai qu’un projet de système d’exploitation moderne est vraiment complexe et requière en effet de l’organisation a tous les niveaux.

    Pour les personnes critiquant de manière négative l’organisation microsoft devrait travailler chez vous! N’ayant qu’une vue très lointaine (un peu plus précise maintenant) je ne peux me permettre le même type de remarques.

    Je ne peux me fier qu’à mon avis d’utilisateur

    En tout cas j’ai hâte d’essayer votre nouvel OS!

    Bon courage et bonne continuation!!  

  2. JeremyF says:

    Eh bien merci beaucoup pour tous ces détails. J’apprécie beaucoup l’ouverture de Microsoft et je suis vraiment enthousiasmé de voir quels débouchés cela aura !

    Je n’ai pas tout retenu le pourquoi du comment de votre organisation, mais globalement, ça m’a l’air bien pensé.

    J’ai hâte de voir vos prochains billets !

    Meilleures salutations !

  3. wilou62 says:

    Hello,

    A la lecture de ce billet, l’on remarque que les équipes de fonctionnalités reprennent des dénominations familières.

    Le travail de ces équipes commence-t-il à partir d’une feuille blanche, ou des éléments des précédents Windows sont-il repris ?

    L’architecture, les fondements du prochain Windows seront-ils totalement nouveaux ?

    Aura-ton encore les traditionnelles versions "boîte", "OEM" et "Mise à jour" ? Est-il prévu qu’un système à la Office voie le jour (Achat d’une licence OEM chez un revendeur, acquisition du media via un formulaire (téléchargement / envoi d’un CD/DVD par la Poste) ?

    En admettant qu’on ait un Windows "modulaire" (idée relayée assez souvent par les media, aurait-on la possibilité de tester différents modules en version d’évaluation ?

    D’autre part, il est communément admis que les lenteurs de Windows sont liées au très très grand nombre de pilotes embarqués. Si c’est réellement le cas (et en partant du principe qu’il serait étonnant que Seven ait une moins grande base que Vista, pour ne citer que lui), est-il d’actualité de mettre au point un nouveau mode de récupération des pilotes, qui permettrait d’alléger la base locale ?

    Je note encore, sur ce billet, que le multitouch est cité. S’il est inclus nativement dans Seven, aura-t-on la joie de pouvoir l’utiliser , après une MAJ, sous Vista, ou même XP ?

    Vous parlez également du "Shell Windows". La charte graphique sera-t-elle similaire à celle que l’on connaît aujourd’hui, ou évoluera-t-elle ?

    Merci ! :)

    W.

  4. bladinet says:

    Bonjour,

    Comme l’ont dit quelques uns avant moi, c’est surtout au niveau de la rapidité qu’il faut faire un réel effort. Nous possédons , pour la plupart , du matériel assez récent et il est assez fréquent de se retrouver avec des lenteurs dignes des windows 95 ou autres.

    Autre chose, on peut surement allier sécurité et performance. La sécurité a été grandement améliorée dans vista mais au détriment des performances.

    On peut sûrement trouver un juste milieu.

    Said

  5. PJD_BE says:

    Bonjour,

    Déjà merci pour toutes ses informations qui démontrent l’ouverture de Microsoft. L’organisation d’une société est toujours très intéressant.

    J’étais très septique lors de la sortie de NT6 (Vista). Après un paramétrage pointu, je trouve le kernel NT6 nettemant plus performant que NT5.x. J’espère testé NT6.1 ou NT7 le plus vite possible.

    Existera-t-il une version "Core" de E7 ?

    @+

    Pierre J. DARCHAMBEAU, Belgium (PJD_BE)

  6. cedgates says:

    Je remercie steven pour c’est connaitre comment va naitre windows 7.

    J’espere que windows 7 sera vraiment un system d’exploitation rapide et que les erreurs avec windows vista NE vont pas ce repeter.

    Je vends des ordinateurs et il et vrai que l’image de Windows Vista ne facilite pas aujourd’hui les gens a achete un ordinateur.

  7. Jeremieb says:

    Bonjour,

    La seule chose que je tiens à dire ou se trouve la limite du système d’exploitation pure et dur ?

    Plus on avance dans le temps plus les systèmes Windows rajoute des couches logiciels pourquoi ne pas se contenter de simplement créer un mur et y rajouter des briques [téléchargement] au fur et à mesure et au besoin de l’utilisateur si varié qu’il soit.

    Oui j’en viens au fait que "seven" devrait être le mur sans logiciel au préalablement installer de force [Internet explorer, Windows Messenger, Windows Movie Maker, Windows Media player …] Pour le principal oui un système sans rien d’implémenter simplement le nécessaire, bah oui le mur on choisit bien le type d’enduis, pierre et la hauteur du mur que l’on veut bâtir, personne ne nous vend de mur pré-fabriquer, on nous fournis les outils seulement.

    C’est sur ce point-ci que je veux vous faire réfléchir.

    Donc chacun sa part mais ne choisissez pas pour nous ce qui serrai bon ou pas.

  8. BigChef says:

    Bonjour,

    Je pense que ce que la majorité des utilisateurs pro et perso attendent d’un systeme comme windows, c’est une une fiabilité accrue mais encore et surtout de minimisé le casse tete lié à la puissance de processeur necessaire et la quantité de memoire suffisante ne serai ce que pour faire fonctionner un tel OS.

    Depuis sa creation, Windows n’a cessé de devenir de plus en plus gourmand en ressource.

    Cela devient une heresie.

    Cordialement

  9. ld78 says:

    Le processus de création d’un OS est très intéréssant à étudier.

    C’est une très bonne idée d’avoir mis en place un blog comme celui ci.

    J’espère que dans cette nouvelle version la stabilité, la rapidité et la légereté seront au rendez-vous =)

    ld78

  10. Archangelus says:

    J’aurais juste une simple suggestion à faire.

    Serait-il possible que Windows 7 prenne en charge les partitions Ext3 et Ext4 en natif ?

    J’ignore si c’est possible pour des questions de licences, mais ce serait vraiment très pratique pour les gens comme moi qui utilisent Windows et Linux en parallèle.

    Même si le repli de Windows sur lui-même fut une stratégie commercial pendant longtemps, ne serait-il pas bon pour Microsoft de se rapprocher d’une compatibilité avec les bases de Linux ?

  11. killruana says:

    Comme le disait si bien sanaell,

    Windows Seven, ou le windows des 7 pêchés capitaux.

    * la paresse : d’accomplir des tâches nécessaires tu refuseras. (pas de commentaire ca parle de lui même)

    * l’orgueil : les mérites des autres tu t’attribueras, (fix, optimisation, rapidité etc..)

    * la gourmandise : 8 Go de RAM, double slicrossfireultrahyperthread,5Ghz octocore et 1To de HDD tu demanderas

    * la luxure : t’autopatcher sans prévenir tu feras.

    * l’avarice : d’ouvrir tes sources au dévellopeur jamais tu ne feras, ou en partie uniquement.

    * la colère : par incompatibilité avec un tiers programmes tu planteras, ou des données tu perdras

    * l’envie : des autres systèmes les idées tu convoiteras.

    Sinon, il y a GNU/Linux, mieux et Libre, que demander de plus ?

  12. methos1435 says:

    Rien a voir avec cette histoire de resolution mais au passage …

    N’avez vous pas annoncé ici même que TOUS les articles seraient traduits?

    Je veux bien que les traductions prennent du temps mais le dernier post sur la version fr remonte au 21 Aout. Sur la version américaine, il ya eu d’autre posts après, dont le plus ancien au 20 Aout !

    Lire les posts sur la version américaine OK, mais pour poster des commentaires ca devient plus problématique…

  13. Siegfried says:

    Merci à Microsoft pour son initiative d’ouverture ! Je soutiens cette entreprise depuis Windows 3.1 et contrairement à la majorité qui pense que vista est bon à jeter aux oubliettes, je dirais plutôt que vista est une très bonne base à Windows Sev7n… Qu’il faut cependant améliorer, sachant que l’on peut toujours faire mieux !

    Il me tarde de tester la bêta publique pour voir et décortiquer sous tous les angles le futur Windows…

    Bonne chance à vous !

    Un "Windows User"

  14. arnaud says:

    Une très bonne nouvelle ce blog !

    Xp fut une révolution enfin un OS stable qui sois ne soit pas gourmand en mémoire et qui ne plante pas tous le temps.

    Ensuite Vista, déçu, une usine à gaz très gourmand en mémoire et en DD.

    J’attend beaucoup de Seven.

    Léger, rapide, peu gourmand en Disque Dur. Un IE plus léger avec je l’espère skinable.

    Et aussi qu’il y est deux registres l’un que pour l’OS pour éviter de la polluer et un autre pour les logiciels, etc…

    Et aussi que les mise à jour n’agrandisse pas la place que prend l’OS.

    Un bon defragmenteur, un bon firewall, un bon anti-spyware.

    Enfin j’ai pas encore pensez à tous ce que je pourrais mettre en terme d’amélioration.

    Je vous souhaite bonne chance pour Seven merci pour ce blog !!

    Seven le septième jour de la perfection ( pour de la pub)

  15. dada24 says:

    c’est quand méme une honte qu’il n’y est pas de nouveau pouste depuis le mois d’aout sur se blog !!!