Vorstellung des Teams

Vielen Dank für die Kommentare und die Flut an E-Mails, die uns erreicht hat (und natürlich auch vielen Dank an alle, die uns bei Twitter besuchen). Die Begeisterung und das Interesse sind einfach überwältigend. Es gibt eindeutig bereits einige wichtige Threads in den ersten Kommentaren, die sich zum Teil auf die ersten Einblicke in die Windows 8-Benutzererfahrung stützen. Wir bereiten uns bereits auf die Diskussion zu diesen Fragen, zum Design und den Kompromissen vor. Windows 8 verfügt über neue Features in allen Produktbereichen. Die Entwicklung von Windows 8 wäre ohne ein großes Team nicht möglich. Deshalb halte ich es für eine gute Idee, die Teamstruktur vorzustellen – manchmal kann das „Wie“ dabei helfen, das „Was“ und „Warum“ zu verstehen. Auf diese Weise gewinnen Sie einen ersten Eindruck darüber, in welchen Bereichen wir Windows 8 mit neuen Features ausgestattet haben, und wir können diese Einteilung als eine erste Orientierungshilfe für die Besprechung des Produkts zugrunde legen.

Es mag auf den ersten Blick logisch erscheinen, sich Windows als Einheit oder Gruppe vorzustellen oder als eine Reihe bestimmter Personen. Von Zeit zu Zeit hält jemand eine Rede bei einer Konferenz oder unterhält einen Blog, und Sie setzen dies gleichbedeutend mit dem Produkt. In Wirklichkeit ist Windows jedoch immer ein Produkt des gesamten Teams und eines guten Teils von Microsoft. Fast jede Entwicklergruppe trägt auf die eine oder andere Weise zur Entwicklung von Windows 8 bei – und Windows unterstützt seinerseits die meisten anderen Gruppen.

Windows ist ein relativ umfassendes Projekt, das aus einer Reihe koordinierter kleinerer Projekte besteht. Bereits zu Beginn der Entwicklung von Windows 8 hatten wir eine klare Vorstellung von der Richtung, die wir einschlagen wollten, und haben dies bereits beim Aufbau der Teamstruktur berücksichtigt. Viele Mitglieder des Teams arbeiten zusammen; wir versuchen jedoch, die Arbeit auf relativ unabhängige Gruppen aufzuteilen. Letztendlich möchten unsere Kunden, dass alle Komponenten reibungslos zusammenspielen, während die Entwickler Wert darauf legen, unabhängig arbeiten zu können. Wir versuchen, dieses Gleichgewicht aufrechtzuerhalten.

Es steckt viel Arbeit darin, eine Teamstruktur aufzubauen, um alle Aufgaben für Windows erledigen zu können. Der wichtigste Schritt ist die Entscheidung, „was“ wir erarbeiten möchten, um sicherstellen zu können, dass die besten Teams und die beste Struktur zur Ausführung der Arbeit zur Verfügung stehen. Gleichzeitig müssen wir dafür sorgen, dass sämtliche Entwicklungsprozesse (z. B. tägliche Builds, Integration, Qualität, Sicherheit und alle grundlegenden Komponenten) bereits von Anfang an integriert sind. Das sind alles jeweils noch einmal Themen für sich.

Unser Team besteht aus mehreren Entwicklerrollen bzw. Disziplinen. Die Implementierungsarbeit für Windows erfolgt, wenn Entwickler Code schreiben. Mit diesem Code werden Features implementiert, die vom Programmmanagement zusammen mit Interaktionsdesigns von unseren Produktentwicklern in Spezifikationen beschrieben werden. Die Aufgabe der Tester ist es, sicherzustellen, dass die Spezifikationen vollständig sind und der Code bewirkt, was in den Spezifikationen vorgesehen ist. Diese Darstellung der Rollenbeziehungen ist etwas vereinfacht, da die Aufgabenbereiche sich oft überschneiden. Es gibt noch viele andere ebenso wichtige Rollen im Team. Wir tendieren jedoch dazu, uns den Entwicklungsprozess als gemeinschaftliche Zusammenarbeit von Entwicklung, Test und Programmmanagement während des gesamten Prozesses bis zur Veröffentlichung vorzustellen. Jede Rolle hat den gleichen Einfluss auf das Ergebnis und die Entscheidungen, die wir treffen.

Wir teilen die Arbeit an Windows auf „Featureteams“ auf. Dabei handelt es sich um Entwickler, die für eine Kombination architektonischer Elemente und Szenarien in Windows verantwortlich sind. Die Organisation von Windows 8 umfasst etwa 35 Featureteams, wobei jedes Featureteam aus etwa 25-30 Entwicklern sowie Test und Programmmanagement besteht, die jeweils zusammenarbeiten. Unsere Teams konzentrieren sich auf die Erstellung eines globalen Produkts. Deshalb befinden sich einige unserer Teams nicht in den USA und liefern eine globale Lösung.

Normalerweise ist ein Featureteam für die Erstellung dessen zuständig, was die meisten Menschen als einen Bereich oder eine Komponente von Windows bezeichnen würden. „Feature“ ist immer ein schwieriges Wort. Einige glauben, ein Feature ist eine umfassende architektonische Komponente wie die „Benutzeroberfläche“, andere dagegen gehen vielleicht davon aus, dass es sich bei einem Feature um eine genauer eingegrenzte Sache handelt, wie etwa um das „Startmenü“ oder IPv6. Der Begriff ist deshalb etwas überladen. Bei der Zusammenstellung unterschiedlicher Featureteams ordnen wir die Architektur (Code, Subsysteme, Komponenten) den Szenarien (d. h. der Benutzeroberfläche), in denen Benutzer damit konfrontiert werden, zu. Dabei achten wir jedoch auch darauf, die Teams klein und überschaubar zu halten. Wir haben es schon vor langer Zeit aufgegeben, neue Features zu zählen, eben weil es so schwierig ist, ein Feature zu definieren. Stattdessen zählen wir Arbeitselemente, die sich auf die Arbeit und Spezifikation, die wir erstellen, beziehen. (Und das ergibt eine sehr lange Liste.)

Wenn jemand die Anzahl der Entwickler im Team ausrechnet, gibt es normalerweise zwei Reaktionen: „Wow, das ist eine ganze Menge, wie soll das gehen?“ oder „Wow, Sie entwickeln ein Produkt für eine Milliarde Menschen mit so wenig Personen.“ Für uns ist es ein Vorteil, das Team möglichst klein zu halten, während es für Sie ein Vorteil ist, wenn darin möglichst viele Personen alle Funktionen hinzufügen, die gewünscht werden. Deshalb haben wir uns für einen Mittelweg entschieden. Wir möchten das Team überschaubar halten und dennoch in der Lage sein, qualitativ hochwertigen Code für einen umfassenden Featureumfang zu schreiben.

Ich habe bereits erwähnt, dass Windows Code zu vielen anderen Produkten beiträgt und umgekehrt. Wenn Sie sich diese Liste ansehen, vergessen Sie dabei nicht, dass sie auch Features von anderen Gruppen enthält (die Laufzeit unserer Browsersprache etwa stammt von der Gruppe für Entwicklungstools). Auf diese Weise geht auch ein Teil der Arbeit hier in andere Produkte ein. Beispielsweise ist die gesamte Arbeit an Kernel, Netzwerkfunktionen, Speicher, Virtualisierung und anderen grundlegenden Betriebssystemfunktionen auch gleichzeitig Arbeit an Windows Server. Das bedeutet, ein Team liefert das gesamte Windows-Clientbetriebssystem und den überwiegenden Teil der Grundlage für das Windows Server-Betriebssystem. Einige Features sind in das Kernbetriebssystem integriert, letztendlich jedoch nur Teil des Serverprodukts.

Viele der nachstehend aufgelisteten Teams beschreiben Features oder Bereiche, mit denen Sie vertraut sind oder die Sie sich wahrscheinlich aufgrund des Namens vorstellen können. Die Teammitglieder werden sich nach und nach als Teil dieser Teams zu erkennen geben. Wir haben diese Teams außerdem zu sieben größeren Gruppen mit jeweils ähnlichen Teams zusammengefasst: Grundlagen, Geräte und Netzwerke, Kernbetriebssystem, Entwicklererfahrung, Benutzererfahrung, Webdienste und unser Engineering System. Die Windows Live-Gruppe (Hotmail, Messenger, Skydrive, Fotos, Live ID usw.) verfügt über eine ähnliche Struktur. Die Internet Explorer-Gruppe besteht ebenfalls aus einer Reihe von eigenen Teams, sie trägt jedoch selbstverständlich auch zu Windows 8 bei.

  • Anwendungs- und Gerätekompatibilität
  • App Store
  • Anwendungen und Mediendarstellung
  • Anwendungsdarstellung
  • Entstehende Core-Erfahrung
  • Gerätekonnektivität
  • Geräte und Netzwerkumgebung
  • Ökosystemgrundlagen
  • Engineer Desktop
  • Engineering System
  • Enterprise-Netzwerke
  • Globale Erfahrung
  • Grafikplattform
  • Hardwareentwicklererfahrung
  • Plattform für menschliche Interaktionen
  • Hyper-V
  • Kontrolle über den PC
  • Kernelplattform
  • Lizenzierung und Bereitstellung
  • Medienplattform
  • Netzwerk
  • Leistung
  • Präsentation und Aufbau
  • Zuverlässigkeit, Sicherheit und Datenschutz
  • Laufzeiterfahrung
  • Suche, Ansicht und Befehle
  • Sicherheit und Identität
  • Speicher und Dateisysteme
  • Nachhaltige Entwicklung
  • Telemetrie
  • Benutzerzentrierte Erfahrung
  • Windows Online
  • Windows Update
  • Funk- und Netzwerkdienste
  • XAML

Außer diesen Teams, die jeweils aus Entwicklung, Test und Programmmanagement bestehen, gibt es noch viele andere, die dem Produktentwicklungsteam angehören. Unser Inhaltsentwicklungsteam schreibt und bearbeitet unsere Onlinehilfe, die Website, Bereitstellungsdokumente und SDKs, um nur einige Dinge zu nennen. Die Produktplanung führt Kundenumfragen durch, betreibt Marktforschung und kümmert sich um Feedback und Telemetrie im Zusammenhang mit der Vorabversion der Software. Das Produktdesign entwickelt das allgemeine Interaktionsmodell, die grafische und die Designsprache für Windows 8. Unser Forschungs- und Verwendbarkeitsteam erstellt Feld- und Laborstudien, in denen gezeigt wird, wie die betreffenden Produkte und vorgeschlagenen Features bei Kunden jeder Art abschneiden. Die Lokalisierung überträgt Windows in über 100 Sprachen (und lokalisiert diesen Blog). Unser Operations Team führt Dienste aus, die von hunderten Millionen Menschen auf fast einer Milliarde PCs verwendet werden. Und das sind noch längst nicht alle.

Zu Beginn der Arbeit an Windows 7 waren einige Menschen der Ansicht, das Windows-Team sei zu groß und habe eine Größe erreicht, die mehr Entwicklungsprobleme verursachen als lösen würde. Gleichzeitig reicht ein Blick auf die Kommentare aus, um festzustellen, wie unglaublich viele neue Features in einem sehr breiten Spektrum von Szenarien benötigt werden.

Die Menschen möchten neue Features und Änderungen an vorhandenen Features; sie möchten, dass Features weltweit verfügbar und von herausragender Qualität sind; die Features sollen mit der vorhandenen Hardware kompatibel sein und dennoch die Vorteile der aktuellen neuen Hardware voll ausschöpfen können. Es ist unsere Aufgabe, so viel wie möglich so schnell wie möglich in großem Maßstab umzusetzen. Das alles ist ein bedeutender Entwicklungsaufwand.

Für alle, die bereits die Wörter zählen: Ich liege immer noch unter 1.500 Wörtern, also beende ich an dieser Stelle die Vorstellung des Teams. Schreiben Sie auch weiter Kommentare, sie helfen uns damit, Ideen für Beiträge zu sammeln und den Dialog auszuformen. Ich hoffe, dieser Beitrag hilft dabei, einen gemeinsamen Hintergrund im Hinblick auf die Diskussion zu Windows 8 zu schaffen.

--Steven