Quick Navigation

Schriftgrad:
  1. A
  2. A
  3. A
Sulzer GmbH auf Facebook Sulzer GmbH bei Xing

Wir setzen Akzente!

Highlights
Agile Softwareentwicklung

Das Jahr 1994 markiert den Beginn der agilen Softwareentwicklung bei der Sulzer GmbH, obwohl die Begrifflichkeit selbst erst im Jahre 2001 durch das agile Manifest etabliert wurde. Doch dazu später. Im Jahr 1994 entwickelte die Firma Sulzer für und in enger Kooperation mit der Firma BMW das digitale Zeichnungsarchiv, DZA. Als Entwicklungsplattform wurde erstmalig Visualworks Smalltalk eingesetzt, eine der mächtigsten objektorientierten Entwicklungsplattformen. In nur wenigen Monaten entwickelten Mitarbeiter von BMW und Sulzer gemeinsam die erste Version dieses noch heute von mehreren zehntausend Anwendern (BMW und Zulieferer) genutzten Programmes. Das Team arbeitete im selben Raum, von Angesicht zu Angesicht. Die Entwicklung wurde in sehr kurzen Wochenzyklen vorangetrieben. Mindestens einmal pro Woche wurden der aktuelle Softwarestand mit den künftigen Nutzern abgestimmt, Schwachpunkte offen besprochen, die Leistungsmerkmale für die nächste Iteration vereinbart und gemeinsam an der Usability der Benutzeroberfläche gefeilt. Für neue Leistungsmerkmale wurden vorab die nötigen Testmethoden erstellt. Neuer Code wurde im Team gemeinsam gereviewed und refaktoriert, nach den Prinzipien der Schlichtheit und Wiederverwendbarkeit. Bei (damals) neuartigen und hochkomplexen Problemstellungen, wie der Synchronisation der weltweit verteilten Cacheserver oder der Anwendungs-übergreifenden DragAndDrop-Funktionalität, half die Programmierung zu zweit große Hürden zu überwinden.

Aus heutiger Sicht ist DZA geradezu ein Urmuster für die agile Softwareentwicklung, der verwendete agile Entwicklungsprozess eine Mischform aus Feature Driven, Usability Driven und Test Driven Development. Nach dem Muster von DZA realisierte Sulzer für BMW diverse weitere erfolgreiche Systeme auf der Smalltalk Plattform (u.a. TEREG, PROFIS, KISS, FMS, WEST, BNDB).

Im Jahre 2001 schließlich unterzeichneten Kent Beck und 16 weitere Autoren das sogenannte Agile Manifest, welches die wesentlichen Prinzipien der agilen Softwareentwicklung niederlegt. Kent Beck und die Mehrzahl der Erstunterzeichner sind, wie auch unser Experte und Mitglied des damaligen DZA Teams Alfred Peisl, Experten für die objektorientierte Softwareentwicklung (Kent Beck und Dave Thomas zählen zu seinen Weggefährten), deren Kernprinzipen, Kapselung und Wiederverwendung unabdingbar für die agile Softwareentwicklung sind. Wichtig ist auch das Abstraktionsniveau der Entwicklungsplattform, damit das der Domäne zugrundeliegende Modell möglichst unverdünnt und ohne Strukturbruch in der Software abgebildet werden kann.

Das agile Manifest refokussiert den Softwareentwicklungsprozess, weg vom schwergewichtigen und Artefakte-gebärenden hin zum schlanken und dynamischen Vorgehen. Kooperation, Kommunikation und gegenseitiges Vertrauen zwischen Auftraggeber und Auftragnehmer sind die wesentlichen Zutaten. Das wichtigste Ergebnis ist die Software, welche die Erwartung des Kunden zur allerbesten Zufriedenheit erfüllt. Dokumente, welche die Erstellung der Software vor allem in frühen Phasen dokumentieren, sind nur Mittel zum Zweck, keinesfalls Selbstzweck.

Mittlerweile ist der agile Softwareentwicklungsprozess bei der Firma Sulzer zum Mainstream geworden. Smalltalk wurde von Java abgelöst, hat aber seine erfolgreichen Gene an dynamische Sprachen wie Ruby, Groovy oder Scala weitervererbt. Sie alle gehören zum Entwicklungsportfolio der Firma Sulzer. Der Entwicklungsprozess wurde weiter verfeinert. Für Projekte deren Anwendungsumfeld einem enormen Innovationsdruck unterliegt (z.B. Fahrzeugentwicklung, BNE) oder welche im internationalen Umfeld einem ständigen Strom neuer Anforderungen ausgesetzt sind (z.B. BMW Car Configurator, eCOM), haben wir Verfahren zur sogenannten Smart Migration und neuartige Technologien zur vollständigen Modularisierung und Entkopplung entwickelt.

Der agile Entwicklungsprozess deckt ein weites Spektrum von Anwendungsszenarien ab, vor allem wenn man ein bewegliches und anfänglich unscharfes Ziel verfolgt. Bedenkenlos für jedes Projekt empfehlen wir ihn jedoch nicht. Auftraggeber und Auftragnehmer müssen sich an die zugrunde liegenden Prinzipien halten und die rechtlichen Verträge müssen den nötigen Spielraum gewähren. Die Anforderung an die Kommunikationsfähigkeit der Teammitglieder ist hoch, die Teamgröße muss überschaubar bleiben (Großprojekte sollten generell gemäß dem Prinzip "Divide et impera" erst in kleinere aufgeteilt werden). Ist die Aufgabenstellung eines Projekts klar definiert und gleichzeitig ein recht enges Budget vorgegeben, ist ein klassisches Entwicklungsvorgehen mit festen Phasen besser geeignet. Ist die Aufgabenstellung noch völlig unklar, muss vor den agilen Prozess unbedingt eine Phase zur Grobbestimmung des Ziels geschaltet werden. Ebenso ist vom agilen Entwicklungsprozess abzuraten, wenn der Auftraggeber auf den Einsatz nicht adäquater Mittel, Vorgaben, Blueprints etc. besteht.

 

Drucken