Pair Programming

Unter dem Titel → Großbaustelle – Making of Windows 7 gab es in der Computerzeitung CT aus dem Heise Verlag vor einiger Zeit einmal einen interessanten Artikel zum Entwicklungsprozess für das neue Windows 7 Betriebssystem aus dem Hause → Microsoft zu lesen (Der oben verlinkte Artikelnachdruck ist kostenpflichtig). Gleichzeitig bekommt man in dem Artikel einen tieferen Einblick in die Randbedingungen eines solchen Entwicklungsvorhabens, wie zum Beispiel die Anzahl der Entwickler, die Komplexität, und die einzelnen Prozesse.

Heute geht es mir um das geänderte Entwicklungsmodell, das Microsoft angewandt hat, da ich in anderem Zusammenhang heute wieder auf diesen Artikel gestoßen bin.

Änderungen im Entwicklungsprozess

Das Vorgängerrelease Microsoft Vista war nicht sonderlich erfolgreich, da es von Kunden zum Beispiel als inkonsistent, langsam und komplex wahrgenommen wurde. Hingegen wurde das neue Windows 7 gleich nach dem Erscheinen gefeiert, und gut angenommen. In dem Artikel bekommt man ein Gefühl dafür, daß die Erfolgslosigkeit des Vorgängerreleases Microsoft Vista auch darauf zurückzuführen war, daß Microsoft wegen der überbordenden Projektgröße nicht mehr in der Lage war, die Komplexität der Softwareentwicklung zu managen. Der Erfolg von Windows 7 ist auf folgende Faktoren zurückzuführen

  • Man hat den Entwicklungsprozess modernisiert und
  • Man hat intensiv Kundenfeedback eingeholt.

Ein wichtiges Element aus dem neuen Entwicklungsprozess ist das sogenannte → Pair Programming. Das Pair Programming ist ein (kleiner) Bestandteil des Extreme Programming Modells, das sich laut Wikipedia wie folgt definiert:

„Extreme Programming (XP), auch Extremprogrammierung, ist eine Methode, die das Lösen einer Programmieraufgabe in den Vordergrund der Softwareentwicklung stellt und dabei einem formalisierten Vorgehen geringere Bedeutung zumisst.“ → www.wikipedia.de

Erfahrungen mit dem Pair Programming

Pair Programming bedeutet, daß jeweils zwei Entwickler gemeinsam eine Software entwickeln. Während der eine Entwickler codiert, prüft der andere Entwickler das Coding. Dies hört sich zunächst einmal an, als wäre es unwirtschaftlich. Microsoft hat aber mit dem neuen Entwicklungsmodell, und insbesondere mit dem Pair Programming Ansatz sehr gute Erfahrungen gesammelt, wie auch der folgende Artikel aus dem Spiegel-Online zeigt → Windows aus der Asche.

Inbesondere hat das neue Entwicklungsparadigma dabei geholfen, die Entwicklungskomplexität abzubauen:

„Nie wieder wollte sich die Firma in ein Projekt wie Windows Vista verrennen. Dieses Betriebssystem gilt als komplexeste Software aller Zeiten. Zweitausend Entwickler schufen mehr als 50 Millionen Zeilen Programmcode. Vor allem die wechselseitige Abstimmung in den vielfach verschachtelten Entwicklergruppen verschlang viel Zeit, erzählt Frank Fischer, Technologiemanager bei Microsoft Deutschland: „Mit Vista sind wir in eine Komplexitätsfalle geraten.“ → Windows aus der Asche.

Kosten-/Nutzenvergleich

In dem folgenden Artikel/ Blog habe ich eine gut ausgearbeitete Zusammenstellung zum Kosten- und Nutzenvergleich des Extreme Programming Modelles gefunden → Pair programming. What researches say on the costs and benefits of the practice. Dort wird die Studie → The Costs and Benefits of Pair Programming erwähnt, die auch aus meiner praktischen Sicht, einige plausible Vorteile nennt:

„The significant benefits of pair programming are that

  • many mistakes get caught as they are being typed in rather than in QA test or in the field (continuous code reviews);
  • the end defect content is statistically lower (continuous code reviews);
  • the designs are better and code length shorter (ongoing brainstorming and pair relaying);
  • the team solves problems faster (pair relaying);
  • the people learn significantly more, about the system and about software development (line- of-sight learning);
  • the project ends up with multiple people understanding each piece of the system;
  • the people learn to work together and talk more often together, giving better information flow and team dynamics;
  • people enjoy their work more.“

Weiterführende Informationen

… auf www.Produkt-Manager.net

Weitere Informationen rund um das Thema Agile Development finden Sie in den folgenden Beiträgen in meinem Blog:

… im Internet

Der Blog http://xprogramming.com behandelt diverse Aspekte des Extreme Programming Modells, und gibt einen detaillierten Überblick über die Frage → What is Extreme Programming?

Kontakt

Das Original dieses Artikels ist auf Der Produktmanager erschienen (©Andreas Rudolph). Regelmäßige Artikel gibt es über die (→Mailingliste), oder indem Sie →mir auf Twitter folgen. In der Online Version finden Sie hier die versprochenen weiterführenden Links:

Comments are closed.