Definition „Scrum (Softwareentwicklung)“ Was ist Scrum?

Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Stephan Augsten

Scrum stammt aus der Softwareentwicklung und beschreibt agile Methoden der Softwareerstellung. Es hat sich als generelle Vorgehensweise etabliert und ist nicht auf die Softwareentwicklung beschränkt. Scrum kommt in der Produktentwicklung zum Einsatz.

Firmen zum Thema

Das Scrum Team arbeitet und organisiert sich selbständig, die Koordination erfolgt in Meetings (Daily Scrum) sowie durch den Scrum Master.
Das Scrum Team arbeitet und organisiert sich selbständig, die Koordination erfolgt in Meetings (Daily Scrum) sowie durch den Scrum Master.
(© aa_amie - Fotolia.com)

Da komplexe Entwicklungsprojekte oftmals nur schwer im Vorfeld zu erfassen und zu planen sind, nutzt Scrum eine alternative Vorgehensweise. Scrum beruht im Gegensatz zu herkömmlichen Modellen nicht auf detailliert ausformulierten Lasten- und Pflichtenheften oder auf abstrakten Beschreibungen, sondern auf iterativen Verfahren mit vielen empirischen Zwischenschritten.

eBook Agile Software-Entwicklung
eBook „Agile Software-Entwicklung“
(Bild: Dev-Insider)

E-Book zum Thema

Das eBook „Agile Softwareentwicklung“ setzt sich mit der Fragestellung „Was ist Agilität und wie steht es aktuell um diesen Ansatz?“ auseinander.

Mit Scrum sollen die in großen, komplexen Projekten zu Beginn oft üblichen Unklarheiten mit konkreten Zwischenergebnissen ersetzt werden. Anhand dieser Zwischenergebnisse findet eine kontinuierliche Verbesserung und Verfeinerung der Anforderungen statt. Eine Detailplanung erfolgt nur, um das nächste Zwischenergebnis zu erzielen.

Die Anforderungen lassen sich dadurch Schritt für Schritt umsetzen. Ziel ist es, hochwertige Produkte in kurzer Zeit und mit möglichst geringen Kosten zu entwickeln, indem der komplette Prozess auf das Wesentliche konzentriert bleibt.

Ein wichtiger Grundsatz innerhalb von Scrum ist die Transparenz für alle Beteiligten. Die Fortschritte im Projekt und die auftretenden Probleme und Hindernisse werden für alle nachvollziehbar festgehalten. Die Gesamtkomplexität eines Projekts versucht Scrum durch das Erstellen von kleinen, weniger komplexen Zwischenschritten aufzubrechen.

Scrum richtet sich gegen exakte Kontroll- und Befehlsstrukturen mit genauen Arbeitsanweisungen. Die Scrum-Vorgehensweise lässt den Entwicklungsteams große Freiheiten in der Umsetzung der Zielvorgaben. Durch diesen Freiraum kann sich Kreativität besser entfalten als in starren Projektstrukturen.

Das Rollenmodell von Scrum

Ein so genanntes Scrum Team umfasst in seiner Gesamtheit drei Rollen und besitzt keinen typischen Projektleiter. Die einzelnen Scrum-Rollen sind:

  • der Product Owner
  • das Entwicklungsteam
  • der Scrum Master

Die verschiedenen Rollen interagieren mit den Projektbeteiligten, den so genannten Stakeholdern. Um für maximale Transparenz zu sorgen, werden die Stakeholder bei den meisten Aktivitäten zumindest passiv einbezogen.

Der Produkt Owner trägt die Hauptverantwortung für die Eigenschaften des zu entwickelnden Produkts und für den Erfolg. Seine Aufgabe ist es, die Produkteigenschaften im so genannten Product Backlog zu definieren und die Umsetzung in den einzelnen Phasen zu beurteilen. Er entscheidet über die Implementierung und beeinflusst Kosten und Zeitpläne. Um für eine bedarfsgerechte Umsetzung zu sorgen, tauscht er sich kontinuierlich mit den Stakeholdern aus.

Das Scrum-Entwicklungsteam arbeitet und organisiert sich selbständig. Es setzt die vom Product Owner gewünschten Funktionalitäten in der vorgegebenen Reihenfolge um und erfüllt die geforderten Qualitätsstandards. Wie die Umsetzung der Funktionen erfolgt, entscheidet das Entwicklungsteam selbst. Um die gesteckten Ziele zu erreichen, ist das Entwicklungsteam interdisziplinär mit allen benötigen Kompetenzen zu besetzen. Damit der Aufwand zur Koordination innerhalb des Team möglichst gering bleibt, sind Scrum-Entwicklungsteams oft mit drei bis maximal neun Mitgliedern besetzt.

Der Scrum Master ist eine Art Moderator und ermöglicht, dass Scrum funktioniert. Er moderiert beispielsweise Meetings, sorgt für eine gute Kommunikation im und außerhalb des Teams und blockt Störungen von außen oder nicht zum Projekt gehörende Aufgaben ab.

Der Sprint als wichtiger Arbeitsabschnitt von Scrum

Der Sprint stellt einen einzelnen Arbeitsabschnitt in Scrum dar. Innerhalb eines Sprints werden inkrementelle Fortschritte einer Produktfunktionalität implementiert. Während der Phase eines Sprints dürfen keine Veränderungen der Zielvorgabe erfolgen. Meist umfassen einzelne Sprints Zeiträume von ein bis vier Wochen.

Zu Beginn jedes Sprints steht das Sprint Planning. Abgeschlossen werden die Sprints mit einem Sprint Review und einer Sprint Retrospective. Im Sprint Preview wird die Implementierung überprüft und mit dem Product Owner und den Stakeholdern besprochen.

Die Sprint Retrospective überprüft die Arbeitsweise des Scrum-Teams. Nach Abschluss eines Sprints erfolgt ein neuer Sprint mit einer weiteren Implementierung einer Produktfunktionalität. Zu Beginn dieses Sprints steht wieder das Sprint Planning.

Daily Scrum zu Beginn jedes Arbeitstags

Der Daily Scrum steht am Beginn eines jeden Arbeitstags. Das Team trifft sich zu einem maximal 15 Minuten langen Meeting, in dem sich die Teammitglieder untereinander austauschen. Alle Probleme, die sich nicht innerhalb dieser Viertelstunde lösen lassen, werden dem Scrum Master übergeben.

E-Book zum Thema

Agilität in der Software-Entwicklung

eBook Agile Software-Entwicklung
eBook "Agile Software-Entwicklung"
(Bild: Dev-Insider)

Was bedeutet Agilität in der Softwareentwicklung eigentlich? Welche Methoden gibt es? Und was ist bei der Umsetzung zu beachten? Das eBook „Agile Softwareentwicklung“ hilft Ihnen möglicherweise dabei, wichtige Entscheidungen zu treffen.

Dieses eBook umfasst die folgenden Themen:

  • Agile Softwareentwicklung – eine Standortbestimmung
  • Arbeitsmethoden der Entwicklerteams
  • Best Practices und Tools

(ID:44474623)

Über den Autor