<< Themensammlung IT-Entwicklung

Scrum – das Projekt-Entwicklungs Framework

Scrum – das Projekt-Entwicklungs Framework

Durch die Einsicht beseelt, dass komplexe Software nicht mit einem Masterplan entwickelt werden kann, haben IT-Entwickler eine Strategie erdacht, wie man trotz aller Unkalkulierbarkeit dennoch am Ende zu einer vorzeigbaren Software gelangt – Schritt für Schritt und mit verteilten Rollen.


Ein Framework ist eine Art Arbeitsumgebung, die sich aus Best Practice-Erfahrungen speist und für den der das Framework benutzen will, erlernbar ist, so dass er auf Arbeitsschritte und fertige Teillösungen zurückgreifen kann. So gibt es für viele Programmiersprachen Frameworks, die die Entwicklungsarbeit extrem erleichtern. Doch nicht nur für Programmiersprachen existieren diese Arbeitsumgebungen, sondern auch für den Akt der Software-Entwicklung selbst. Scrum ist eine solche Framework-Arbeitsmetthodik, die viele Prozesse während der Planung und Ausführung erleichtert und anstehende Aufgaben in sinnvolle und handhabbare Arbeitsschritte unterteilt. Gleichzeitig animiert sie zu einer engagierten Zusammenarbeit im Team und zu Routinen, die Fehler vermeiden.

Warum Scrum?

Auf der einen Seite steht der Wille, systematisch eine komplexe Software zu entwickeln. Früher hat man das nach dem so genannten Wasserfallprinzip geregelt – das heißt man hat Phase für Phase abgearbeitet, um zum endgültigen Resultat zu kommen. Auf der anderen Seite stehen die ständig wechselnden Anforderungen an die Software, die viele Voraussetzungen, die in frühen Phasen noch Geltung hatten, in späteren Phasen auf einmal obsolet machen und durch neue Anforderungen ersetzen. Die Scrum-Herangehensweise ist nun, die verschiedenen Phasen im kleinen, in realisierbaren Einheiten beizubehalten und Fortschritte in so genannten 'Sprints' zu vollziehen. Sprints sind Teillösungen, die in einem überschaubaren Arbeitszeitrahmen – etwa einer Woche , maximal einem Monat - vollzogen werden können.

Welche Mittel benutzt Scrum?

Scrum ist ein Instrument des Agile-Software-Developments – also der beweglichen Sofware-Entwicklung. Es besteht aus vielen Ressourcen - Handlungsanweisungen, Zeitrahmen, Zyklen – die in einem Scrum-Guide festgehalten sind. Hier einige davon:

Rollenspiel

Das Scrum-System umfasst mehrere Rollen, So gehören zu einem Scrum Team das Entwicklerteam, der Produkt Owner und der Scrum-Master. Das Entwicklerteam bearbeitet die Sprints eigenverantwortlich und ungestört. Der Product Owner ist im besten Fall ein Sachverständiger des Auftraggebers, der mit allen Anforderungen an das Projekt vertraut ist und als Ansprechpartner für alle offenen Fragen dient. Oft genug – vor allem bei kleineren Projekten – kann der Auftraggeber niemanden regelmäßig abstellen, so muss jemand anderes die Rolle des Product Owners übernehmen und einen engen Kontakt zum Auftraggeber pflegen. Der Scrum-Master ist der Projektleiter und muss in seiner Rolle dafür sorgen, dass alle vereinbarten Scrum-Regeln eingehalten werden und diese gegen Dritte durchsetzen.

Weitere Rollen, die verteilt werden können sind etwa der User – der das Produkt testet, seine Erwartungen schildert und Rückmeldungen gibt. Weiterhin der Manager – also der Geschäftsführer der Programmierschmiede, der ebenfalls, wenn nötig, in einer festen Rolle – mit allen Pflichten - auftreten muss.

Sprint Planning Meetings

Um einen Sprint – also eine fertige Teillösung – zu planen sind Sprint Meetings nötig. Am Anfang eines Sprints bespricht das Scrum Team alle Anforderungen an die zu erarbeitende Funktionalität und legt einen Zeitrahmen für die Entwicklung fest. Die Anforderungen werden in User Storys fixiert. Sprint Planning Meetings haben eine Zeitbegrenzung von etwa einer Stunde.

In einem zweiten Meeting bespricht sich das Entwickler-Team wie es vorgehen wird, welche Einzelaufgaben (Tasks) heruntergebrochen werden können. Tasks sollten an einem Tag abarbeitbar sein.

Daily Scrum

Damit jedes Mitglied des Entwicklungs-Teams einen Überblick über die eigene Arbeit, wie auch den Stand des Sprints gewinnt, wird jeden Morgen vor der Arbeit ein Scrum-Meeting abgehalten. Jedes Team-Mitglied erzählt, welchen Task es am Vortag bearbeitet hat und wie es gelaufen ist. Dann wird festgehalten, welcher Task heute bearbeitet wird und zum Abschluss erzählt der Entwickler, wie es ihm heute geht. Menschen sind keine Maschinen – auch Informatiker nicht. Ein Daily Scrum sollte am besten im Stehen absolviert werden – damit die Höchstzeit von 15 Minuten nicht überschritten wird.

Fazit

Scrum ist ein Sammelsurium an in sich schlüssigen Rollen. Als Idealtypus einer Arbeitsmethodik ist es freilich dazu prädestiniert, dass die gesetzten Regeln früher oder später gebrochen werden. Allein schon deshalb, weil die verteilten Rollen mit Idealen besetzt sind und nicht mit wirklichen Menschen, mit all ihren Fehlern und Launen. Auch ist Scrum kein Allheilmittel, sondern verlangt eigenverantwortliches Denken und Handeln und einen Willen zum Lernen.

Dennoch sind die Vorteile immens: Jedes Team-Mitglied lernt Verantwortung – sich selbst und dem ganzen Team gegenüber. Wechselnde Anforderungen können auch noch in späten Projektphasen realisiert werden. Auch übliche Autoritäten, wie etwa der Kunde und der Manager sind an ihre Rollen gebunden und müssen sich mit den eigenen Kompetenzen und der Klarheit ihrer Anforderungen auseinandersetzen. Bei Scrum wird schnell klar, wo der Fehler im Projekt liegt. Klare Zeitangaben, bewältigbare Arbeits-Häppchen und strukturiertes Vorgehen paaren sich mit Eigenverantwortung und Selbstorganisation. Auch arbeiten Team-Mitglieder bewusster an Problemen.

Schlagworte zu diesem Artikel

Das könnte Sie auch interessieren

Förderland-Newsletter

Wissen für Gründer und Unternehmer