Agiles Projektmanagement mit Scrum

In der Software-Entwicklung stehen zukünftig agile Methoden und Vorgehensweisen im Vordergrund. Sie sind die Folge von oft träger Projektplanung und starren Rahmenbedingungen. Als bekannteste Methode für agiles Arbeiten gilt “Daily”. Hier werden tägliche kurze Zusammenkünfte des Teams genutzt, um die anstehenden Aufgaben zu besprechen und zu steuern. Für die erfolgreiche Abwicklung von agilen Projekten stehen Unternehmen unter anderem Plattformen wie Scrum zur Verfügung.

Die Scrum Methode wurde 1995 von den beiden Gründern Jeff Sutherland und Ken Schwaber öffentlich vorgestellt. Mit Scrum arbeiten Teams effizienter und effektiver, Projekte erhalten eine völlig neue Qualitätsdimension. Die agile Entwicklungsmethode ist besonders gut geeignet für Projekte, in denen wenig Wissen vorliegt.

Bei Software-Entwicklungen geht es hierbei um die geeignete Vorgehensweise oder Technologie. Scrum konzentriert sich auf die iterative Produktentwicklung, das bedeutet, mit der Plattform ist es möglich, das vom Kunden gewünschte Produkt zu entwickeln.

Unternehmen profitieren von agilen Methoden, wenn von Mitarbeitern eine hohe Flexibilität und ein lösungsorientiertes Arbeiten benötigt wird. Durch die interaktiven Stufen in Scrum steht den Mitarbeitern ein branchenunabhängiges Tool zur Verfügung, dass in der Lage ist, ständig neue Features zu liefern.

Als optimale Teamgröße empfiehlt Scrum Gruppen von fünf bis elf Mitgliedern. Mittlerweile setzen über die Hälfte der deutschen Unternehmen mit mindestens 500 Mitarbeitern für den IT-Bereich auf agile Methoden zum Projektmanagement.

Was bedeutet iteratives Vorgehen?

Bei Scrum dreht sich alles um das iterative Vorgehen, hierbei ist die Produktentwicklung in Iterationen organisiert, die in Scrums “Spirits” heißen. Die Scrum Methode ist permanent weiterentwickelt worden und basiert heute auf den neusten Erkenntnissen agiler Arbeitsweisen. Dazu gehört das iterative Vorgehen, bei dem Schritte konsequent nacheinander abgearbeitet werden.

Die schrittweise Annäherung erfolgt so lange, bis eine exakte oder endgültige Lösung erreicht wird. Jede Iteration ist fachlich in sich geschlossen und als Einheit zu verstehen. Alle Projektphasen sind in jeder Iteration enthalten. Ist eine Iteration abgeschlossen, erhalten die Projektverantwortlichen einen funktionierenden Zwischenstand der Software-Entwicklung, also des neuen Produktes.

Der Prozess mit sich wiederholenden Handlungen soll am Ende eine definierte Lösung erreichen. In der Software-Entwicklung kann die Iteration auch das wiederholte Durchlaufen von Entwicklungszyklen bedeutet, wie beispielsweise das Testing, die Inbetriebnahme oder die Wartung. Die Iterationen werden dann so lange wiederholt, bis beispielsweise die Testphase abgeschlossen wurde und die Testabteilung die Freigabe gibt.

Implementierung von Software mit Iterationen

Im Mittelpunkt agiler Methoden steht bei der Software-Entwicklung vor allem die Phase der Implementierung. Mehrere Iterationen ergeben dann abschließend ein Release. Der Inhalt dieser Iterationen ist nicht auf die wiederholte Programmierung begrenzt, sondern sieht das Wiederholen von einzelnen Schritten innerhalb der Programmierung als eigenständige Handlung. So geht es in diesem Fall beispielsweise um die Realisierung von Anforderungen oder Features, die innerhalb einer Iteration durchlaufen werden.

Quelle Bild: https://t2informatik.de/wissen-kompakt/iteration/

Die iterative Software-Implementierung bietet ein agiles Arbeiten und Reagieren und zugleich strukturierte sowie flexible Möglichkeiten, den Prozess zu bearbeiten. Wichtige Abläufe bleiben davon unberührt und nach jedem Sprint kann in Scrum die Iterationsphase erweitert oder das Produkt zur Anwendung freigegeben werden. Die effiziente Zielführung gilt als wesentlicher Vorteil der iterativen Vorgehensweise in Scrum und erlaubt eine optimale Analyse der einzelnen Entwicklungszyklen.

Jeder Iterationsphase sind in Scrum individuelle Kosten, Zeit und Ressourcen zugeteilt. Das Entwickler-Team kann dadurch ideal auf jede Phase reagieren und Anpassungen und Feedback sind jederzeit möglich. Wertvoll ist die abschließende Begutachtung der Iterationsphase, denn das Ergebnis lässt sich so präzise auswerten.

Vorteile der iterativen Software-Entwicklung

Während bei der traditionellen Vorgehensweise die Phasen nicht einmalig sequenziell durchlaufen werden, bietet Scrum die Möglichkeit, jede Phase mehrmals zyklisch zu wiederholen. Die Anforderungsänderungen können so überaus flexibel noch während der Entwicklung berücksichtigt werden. Das hat den Vorteil, dass Unzulänglichkeiten im Design und Probleme bei der Implementierungsphase frühzeitig erkannt werden können. Durch die laufende Integration von fertigen Codes kann bei diesem iterativen Ansatz die Gefahr reduziert werden, dass die Software nicht wie gewünscht ins Release kann.

In den sogenannten Feedbackschleifen besteht zudem die Möglichkeit für eine effiziente und barrierefreie Kommunikation innerhalb des Teams, die den Fortschritt des Projektabschnittes sicherstellt und dafür sorgt, dass es einen regelmäßigen Erfahrungs- und Wissensaustausch gibt. Durch die konsequente Priorisierung der Anforderungen lassen sich zunächst die umsetzen, die einen direkten Mehrwert bieten oder einen hohen Nutzen für das Projekt haben. Jeder Sprint wird in Scrum dazu von unnötigen Anforderungen eliminiert, was für effiziente Abläufe sorgt.

Am Ende ergibt sich aus dem iterativen Ansatz in Scrum ein besseres Produkt, das die Anforderungen erfüllt. Die Software hat eine höhere Qualität und die gewählte Lösung ist tragfähig. Außerdem ist iterativ entwickelte Software leichter zu erweitern und kann besser gewartet werden als klassisch entwickelte Produkte. Der Business Value ist deutlich höher und die Funktionen strikt nach den Prioritäten der Anforderungen umgesetzt.

Rahmenwerk für die Entwicklung komplexer Software

Aufgeteilt in kurzen Lernschleifen kann das Rahmenwerk von Scrum besonders für die Entwicklung komplexer Software-Anwendungen verwendet werden. Die Projektlaufzeit ist dafür in Etappen aufgeteilt. Das konkrete Vorgehen basiert auf Erfahrung und das Vorgehen in Scrum findet schrittweise in sich wiederholenden Phasen statt.

Quelle: https://www.atlassian.com/de/agile/scrum

In Scrum gibt es fünf Aktivitäten, drei Artefakte und drei Rollen. Zusätzlich zu den Sprints, die jeweils in etwa 30 Tage dauern, gehören diese Regeln zu den Grundlagen von Scrum. Wichtig für Anwender ist zu beachten, dass sich ein Sprint niemals ausdehnt, er lässt sich allenfalls abbrechen. Immer wenn ein Sprint beendet ist, sollte es ein voll funktionsfähiges Zwischenprodukt geben. Agile Methoden sind für die Software-Entwicklung von heute fast unumgänglich. Desto mehr Mitarbeiter involviert sind, umso wichtiger ist agiles Projektmanagement. Umso größer das Team, umso wichtiger die Konzentration auf konkrete Entwicklungsschritte.

Die Aktivitäten in Scrum:

Sprint Planning: Planung der nächsten Projektphase und Aufteilung in konkrete Aufgaben. In der Regel innerhalb eines Tages abzuarbeitenden Anforderungen.

Daily Scrum: Tägliches Meeting des Teams für Austausch und Problembesprechung

Sprint Review: Überprüfung des Zwischenproduktes und Überprüfung der Zielerreichung.

Sprint Retrospective: Treffen für die noch produktivere Gestaltung und Prozessoptimierungen für optimale Arbeitsweise des Teams.

Product Backlog Refinement: Ziel dieser Refinements ist die kürzere und effizientere Sprint-Planung. Es geht um das “Wie”, nicht um das “Was”.

Quelle: https://www.mvdn.de/sprint-retrospective

Die Artefakte in Scrum:

Product Backlog: Sammlung der Anforderungen nach Prioritäten.

Sprint Backlog: Auswahl an Anforderungen, die innerhalb eines Sprints bearbeitet werden sollen.

Product Increment: Die lauffähige, getestete und dokumentierte Software, die anhand der Anforderungen umgesetzt wurde.

Die Rollen in Scrum:

Product Owner: Verantwortlichkeit für die Wertschöpfung der Software.

Entwicklungsteam: Team aus selbst organisierten und selbst gesteuerten Software-Entwicklern.

Scrum Master: Sorgt für effiziente Arbeit des Entwickler-Teams und fördert die Kommunikation im Team.

Warum Scrum ideal ist

Agile Prozesse und agile Prinzipien sind keine Wundermittel. Aber eine gute Möglichkeit für ein selbstgesteuertes System ohne Reporting. Agilitität in Unternehmen ist der hohen Dynamik geschuldet, die den Beteiligten große Flexibilität abverlangt. Dynamische Prozesse müssen daher auf soliden Daten ausgerichtet sein.

Im Zentrum von Scrum stehen Sprints, das sind Phasen für die Umsetzung von nutzbarer, potenziell auslieferbarer Software. Scrum gehört zu den Methoden der empirischen Prozesskontrolle und leistet vor allem für komplexe Software-Lösungen hervorragende Arbeit. Ziel ist dabei hohe Qualität, Geschwindigkeit und die laufende Verbesserung der Team Performance.

Probleme und Bugs sind in der Software-Entwicklung vorhersehbar. Die Komponenten, die entwickelt werden, stehen häufig in Wechselwirkung und schon die geringste Störung kann das gesamte Projekt gefährden. Daher ist die Zusammenarbeit von Teams entscheidend für den Erfolg. Veränderungen werden als natürlicher Bestandteil direkt von Anfang an eingeplant, das erlaubt das kurzfristige Beheben von Problemen und Bugs.

Scrum fördert ein funktionsübergreifendes Vorgehen und macht Teams beim Erreichen ihrer Ziele unabhängig von Kollegen.

Kostenlose Erstberatung anfordern