Entwickler müssen sich umstellen

Herausforderung Scrum

19.05.2010
Von Stefan Korsch
Agile Softwareentwicklung verändert die Kultur eines Unternehmens und erfordert eine andere Einstellung aller Beteiligten.

Das Berufsbild des Softwareentwicklers hat sich rasant verändert. Der Begriff Software Engineering entstand in den 50er Jahren und mit ihm die ersten Debatten darüber, was "Engineering" in Bezug auf die Entwicklung von Software überhaupt bedeutet. Diese Diskussion erhielt 1968 und 1969 durch zwei vom NATO Science Committee geförderte Konferenzen weiteren Auftrieb, und Zeitzeugen behaupten, dass dies die Wiege der (groß-)industriellen Softwareentwicklung gewesen sei. In den folgenden Jahrzehnten entstanden diverse Prozessmodelle zur standardisierten Softwareentwicklung - eher aus der Not geboren und um die Kosten der Softwareentwicklung transparenter zu machen sowie einen Mindeststandard für Softwarequalität zu garantieren. Die bekanntesten Vertreter sind das Wasserfallmodell (1970), das V-Modell (1986), das Spiralmodell (1988), Scrum (1995), Rational Unified Process (1999) und das V-Modell XT (2005).

Kern all dieser Ansätze ist der Versuch, die Unsicherheiten von großen Softwareprojekten im Hinblick auf Kosten, Funktionalität, Laufzeit und Qualität beherrschbar zu machen. Der agile Lösungsansatz unterscheidet sich allerdings eklatant von dem der klassischen Modelle und verändert die Arbeit von Softwareentwicklern und dem IT-Management.

Lösungsansatz "klassisches Vorgehen"

Die klassischen Modelle basieren auf der Idee, die Erfahrungen aus industriellen Fertigungstechniken wie dem Maschinen- oder Automobilbau auf die Softwareentwicklung zu übertragen. Hieraus ergibt sich zum einen die Trennung einzelner Aufgaben wie Konzeption, Architektur, Realisierung, Qualitäts-Management und Steuerung, also eine klare Einteilung der Mitarbeiter hinsichtlich Tätigkeiten und Fähigkeiten. Zum anderen bedarf es klar strukturierter Regeln und meist sequenzieller Prozesse, um die Projekte steuern und kontrollieren zu können. Das V-Modell definiert zum Beispiel mehr als 20 Entscheidungspunkte, 31 Rollen, 118 Produkte und 89 Aktivitäten.

Lösungsansatz "agiles Vorgehen"

Die Grundlage für die Zusammenarbeit aller an einem agilen Softwareprojekt Beteiligten wurde 2001 unter anderem von Ken Schwaber und Jeff Sutherland in dem "agilen Manifest" definiert.

Dieses Manifest nennt vier Kernpunkte:

  1. Individuen und Interaktionen gelten mehr als Prozesse und Tools.

  2. Funktionierende Programme gelten mehr als ausführliche Dokumentationen.

  3. Die stetige Zusammenarbeit mit dem Kunden steht über Verträgen.

  4. Der Mut und die Offenheit für Änderungen steht über dem Befolgen eines festgelegten Plans.

Dieser Ansatz geht davon aus, dass es möglich ist, mit der kurzen, aber klaren Darstellung einer fachlichen Vision, einem interdisziplinären Team, einem quasi sofortigen Start der Realisierung und einer schnellen Feedback-Schleife (neue Software kann sofort durch den Auftraggeber getestet und bewertet werden) auf einen großen Overhead zu verzichten und ein mindestens gleichwertiges oder sogar besseres Ergebnis in Bezug auf Funktionsumfang, Projektlaufzeit, Qualität, Kosten und Kundenzufriedenheit zu erzielen. Verzichtet wird auf komplexe Rollen und Regelwerke, vorgelagerte Konzeptionsphase (Lasten-/Pflichtenhefte) und nachgelagerte Testphase.

Dass hier zwei Weltsichten aufeinanderprallen, steht außer Frage und wird vermutlich auch weiterhin zu intensiven Diskussionen führen. Die Einführung agiler Methoden in mittlerweile über 30 Prozent der Unternehmen und in Projekten, an denen drei bis mehr als 200 Mitarbeiter beteiligt sind, zeigt laut einer aktuellen Forrester-Studie, dass diese Arbeitsweise aus der IT-Welt nicht mehr wegzudenken ist.

Die Strukturierung der Organisation erfolgt in Scrum anhand der Applikationslandschaft.
Die Strukturierung der Organisation erfolgt in Scrum anhand der Applikationslandschaft.

Die Einführung agiler Vorgehensweisen, also "eigentlich simpler" Vorgehensmodelle, führt allerdings zu großen personellen und persönlichen Umstellungen etwa in Bezug auf Hierarchie, Verantwortung, Zuständigkeit, Eigenständigkeit, Ansprechpartner, Selbstdefinition, Sicherheitsempfinden, gefühlte Kontrolle, Vertrauen und Respekt.

Scrum, das derzeit am weitesten verbreitete Verfahren, zeigt die Auswirkungen im Vergleich zu klassischen Strukturen sehr deutlich. In der Praxis kommen meist mehrere agile Verfahren und Techniken in Kombination zum Einsatz.