Scrum kompakt – Teil 2: Agile Prinzipien

Agile Prinzipien bilden neben agilen Praktiken eine wichtige Grundlage der Scrum-Methode. Wir teilen die Prinzipien noch einmal auf in organisatorische und technische agile Prinzipien, die sich im wesentlichen aus dem „Agilen Manifest“ ableiten lassen.

Organisatorische Prinzipien

Selbst-organisierende Teams

Agile Prinzipien: Selbstorganisierende Teams

Scrum fordert „selbst-organisierende Teams“ und verlangt, dass die klassischen Manager sich aus dem Produktionszyklus der Entwicklung weitestgehend heraushalten. Dem Team wird möglichst viel Mitbestimmung eingeräumt und die Kommunikation erfolgt auf Augenhöhe. Die Expertise der Teammitglieder wird genutzt und ihre Meinungen, Einschätzungen und Hinweise ernst genommen.

Änderungen sind die Regel und keine Ausnahme

Agile Prinzipien: Änderungen sind normal

Scrum geht davon aus, dass der Kunde oft gar nicht weiß, oder wissen kann, was er wirklich benötigt. Daher wird davon ausgegangen, dass die Anforderungen und Erwartungen des Kunden sich im Laufe des Projekts ändern. Lediglich für die Dauer eines „Sprints“, d.h. für einen Entwicklungszyklus, werden die Anforderungen eingefroren.

Der Kunde wird eng in den Entwicklungsprozess eingebunden

Einbindung des Kunden

Kunden werden frühzeitig in die Entwicklung eingebunden. Ihnen werden in kurzen Abständen erarbeitete Lösungen präsentiert. Der Kunde kann dann schnell Rückmeldung geben, ob die Lösung seinen Vorstellungen entspricht.

Überstunden vermeiden

Überstunden

Scrum will vermeiden, dass gegen Ende des Projekts der zugesagte Liefertermin mit Hilfe von Überstunden eingehalten wird. Die von Scrum vorgeschlagene Lösung ist schlicht: Der Termin wird gehalten, der gelieferte Funktionsumfang wird dafür im Bedarfsfall reduziert. Allerdings ist diese Lösung nicht in allen Fällen möglich, zumal zu einem bestimmten Termin eine notwendige Funktionalität zu liefern ist. Überstunden ergeben sich oft aufgrund nicht vorhersehbarer Störungen oder aufgrund von Fehlabschätzungen für den Aufwand. Erfahrene Manager planen deshalb mit Puffern und nicht mit Überstunden.

Entwicklungsaufwand wird minimiert

Scrum fordert, dass nur das Notwendige implementiert wird, weil davon ausgegangen wird, dass die Anwender nur einen Bruchteil der von einem System zur Verfügung gestellten Funktionen nutzen. Um den Entwicklungsaufwand niedrig zu halten, konzentriert sich Scrum auf die Erstellung von Tests und Software Code und investiert wenig Zeit in die Erarbeitung von Anforderungen und Design.

Technische Prinzipien

In kurzen Zyklen iterativ entwickeln

Agile Prinzipien: Sprints

Scrum gliedert den Software-Produktionsprozess in gleich lange Phasen von etwas einer bis vier Wochen Dauer, die „Sprints“ genannt werden. Nach jedem Sprint soll ein funktionsfähiges Produktinkrement entstanden sein, dass der Kunde begutachten kann und wozu er Rückmeldung geben kann. Durch diese Vorgehensweise sollen Fehlentwicklungen vermieden und die Erwartungen des Kunden besser erfüllt werden. Während eines Zyklus dürfen die Anforderungen nicht geändert werden.

Automatisierte Tests sind Schlüsselelement

Agile Prinzipien: Ausführbare Tests

Zu den wichtigsten agilen Prinzipien in Scrum gehören ausführbare Tests. Der Schwerpunkt beim Testen liegt auf den so genannten „Unit Tests“, in denen einzelne Module bzw. Klassen geprüft werden. Durch Regressionstests soll verhindert werden, dass bei Codeänderungen Fehler in ein schon lauffähiges Softwaremodul eingebracht werden. Es soll keine neue Software entwickelt werden, solange existierende Tests noch Fehler aufzeigen.

Zuerst Tests erstellen

Tests 2

Die Idee ist es, noch vor der Entwicklung eines Features die dazugehörigen Testfälle zu erstellen und in die Suite der Regressionstests aufzunehmen. Diese Vorgehensweise regt dazu an, sich Gedanken über den Nachweis der Implementierung der Anforderungen zu machen und unterstützt damit den Requirements Engineering-Prozess. Zuerst Tests zu entwickeln ist deshalb ein hilfreiches Prinzip.

Szenarien-basierte Anforderungen

Szenarien

Scrum stellt infrage, dass Anforderungen vorab in größerem Umfang zusammengestellt werden können. Allerdings ist es unmöglich, etwas zu entwickeln, ohne dokumentiert zu haben, was es denn sein soll. Deshalb werden in Scrum Anforderungen in Form so genannter „User Stories“ oder „Epics“ dokumentiert. User Stories sind in der Regel Szenarien-Beschreibungen. Die Beschreibung von Anforderungen in Form von Szenarien ist besonders dort effektiv, wo ein Großteil der Funktionalität sich an der Benutzerschnittstelle zeigt. Die Szenario-Methode hat gegenüber anderen Methoden einen wesentlichen Vorteil: es ist einfach, aus den Szenarien die dazugehörigen Testfälle abzuleiten.

Agile Prinzipien in der Praxis

Agile Prinzipien werden in der Praxis durch geeignete Werkzeuge wie z.B. die Projektmanagement-Software Allegra oder Continuous Integration-Werkzeuge wie Gitlab unterstützt. Die Agilität im Prozess wird leider mit einigen Nachteilen erkauft. Agiles Projektmanagement hat bei der Skalierung einige Probleme und einige der agilen Prinzipien und Werte müssen zu Gunsten einer besseren Skalierbarkeit und für eine funktionierende Projektorganisation aufgegeben werden. Die im agilen Manifest niedergelegten Leitsätze werden in vielen Unternehmen deshalb nur soweit übernommen, wie es sich in der Praxis als nützlich erweist.

[Gesamt:0    Durchschnitt: 0/5]