Wer in der IT-Branche seine Projekte nicht starr und minutengenau bis zur Deadline einplanen will, kommt in den seltensten Fällen an einer agilen Projekt- und Prozessplanung vorbei.

Vor etwas mehr als sechs Monaten haben wir uns bei Braintower dazu entschlossen, genau diesen Weg zu gehen. Ziel war es auf eine flexible, übersichtliche Projektplanung und agile Arbeitsweise umzustellen. Der Kern dieser Umstellung wurde mittels der Scrum-Methode geebnet.

Die Scrum-Methode wird vorwiegend in der Software-Entwicklung genutzt, kann aber auf sämtliche Projekte außerhalb der Software-Entwicklung angewendet werden. Damit kann, im Gegensatz zur konventionellen Projektplanung, besser auf unvorhergesehene Ereignisse und aufkommende Probleme reagiert werden.
Die Scrum-Methode definiert sich darin, komplexe Projekte und Aufgaben in kleinere Teilaufgaben zu zerlegen, sogenannte Epics und Tasks. Epics sind große Arbeitseinheiten, die sich in eine Reihe kleinerer Aufgaben (Tasks) unterteilen lassen.

Diese werden dann im sogenannten Backlog des Projekts vom Product-Owner gruppiert und sortiert. Das Backlog wird somit zu einer geordneten Liste mit allem, von dem bekannt ist, das es für den Abschluss des Produkt benötigt wird. Ein Backlog erhebt nie den Anspruch auf Vollständigkeit. In der frühesten Entwicklung werden die zunächst bekannten und am besten verstandenen Anforderungen dargelegt. Wenn neue Erkenntnisse oder Anforderungen bekannt werden, werden diese als Aufgaben in das Backlog eingepflegt. Anschließend wird ein Teil der im Backlog hinterlegten Tasks in einen Sprint eingeplant.

Ein Sprint ist ein Zeitraum zwischen einer und vier Wochen, indem die Teilaufgaben eingeplant und bis zum Ende des Sprints abgeschlossen werden sollen. Wir haben uns auf die Sprintlänge von einer Woche festgelegt, um flexibel genug zu sein, den Scrum-Prozess auf alle Abteilungen und Projekte anwenden zu können.

Um zu wissen, welche und wie viele Aufgaben in einen Sprint eingeplant werden können, werden die Tasks in einem speziellen Meeting vorgestellt – das sogenannte Refinement – , im Team besprochen und gemeinsam bewertet. Durch die Diskussion im Team über die einzelnen Bausteine des Projekts können frühzeitig Lücken und Fehler aufgedeckt werden und die Komplexität oder Zeitaufwand in Form von Story-Points ermittelt werden.

Story-Points spiegeln für gewöhnlich die Komplexität einer Aufgabe wider, welche nach der Fibonacci-Reihe aufgezeigt werden. Eine Aufgabe mit 2 Story-Points ist beispielsweise doppelt so Komplex wie eine Aufgabe mit einem Story-Point. Je höher die Komplexität, desto höher der Zeitaufwand. Dies spiegelt sich auch in der Aufreihung nieder. Gegen Ende hin werden die Abstände größer und somit ist auch die Komplexität schwieriger genau zu bestimmen.
Story-Points: 1,2,3,5,8,13,20,40,100
Wir haben uns dazu entschlossen die Komplexität durch eine zeitliche Aufwandsabschätzung zu tauschen und Story-Points als Aufwand in Stunden zu sehen. Somit können den Mitarbeitern Projektaufgaben maßgeschneidert an deren Verfügbarkeit und anderen Tätigkeiten zugewiesen werden.

Im Scrum-Prozess gibt es eine feste, inkrementelle und zyklische Reihe von Meetings:

  • Sprint-Planung:
    In der Sprint-Planung werden mit dem Team und dessen Teammitgliedern die Tasks für den kommenden Sprint besprochen und eingeplant.
  • Daily-Meeting:
    Das Daily-Meeting findet jeden Tag zur selben Zeit statt. Ein Daily ist zeitlich auf maximal 15 Minuten begrenzt und dient nur zur Informationsweitergabe. Im Daily stellt jedes Teammitglied seine getätigten Aufgaben seit dem letzten Daily vor, spricht Probleme oder Ereignisse an und was das Teammitglied bis zum nächsten Daily erreichen möchte. Somit bekommt jeder im Team einen Überblick über die Tasks und die Tätigkeit der anderen und kann sich ein Gesamtbild über den Fortschritt im Projekt machen.
  • Refinement:
    ImRefinement werden die Aufgaben im Team diskutiert, durch die Teammitglieder beurteilt und mit Story-Points geschätzt.
  • Sprint-Review:
    DasSprint-Review dient dazu, den letzten Sprint im gesamten zu betrachten, welche Tasks erledigt wurden, welche Probleme aufkamen und was im nächsten Sprint berücksichtigt werden muss.
  • Retrospektive:
    Nachdem das Projekt abschlossen ist und keine Tasks mehr im Backlog liegen werden im gesamten Team die vergangenen Sprints Revue passieren gelassen und über Verbesserungen für nächste Projekte gesprochen.

Die Sprints, und die im Sprint angesetzten Meetings, werden so lange wiederholt, bis keine Aufgaben mehr im Backlog des Projekts sind. Ist der Backlog leer ist das Projekt abgeschlossen.

Obwohl die Teams im Scrum-Prozess zum größten Teil selbstständig arbeiten und agieren können, gibt es die Rolle des Scrum-Masters. Dieser begleitet die Sprints und kennt die darin eingeplanten Tasks. Er moderiert die im Sprint angesetzten Meetings und reagiert auf die im Projekt aufkommenden Fragen und Probleme. Diese kann der Scrum-Master gegenüber dem Product-Owner anbringen.
Der Product-Owner ist der Verantwortungsträger des Projekts. Dieser darf als einziger den Backlog und die darin enthaltenen Tasks bearbeiten und priorisieren.

Ich habe mich dazu entschlossen, als wir bei Braintower mit Scrum angefangen haben, die Rolle des Scrum-Masters zu übernehmen, da es sehr interessant ist, Einblicke in die vielen verschiedenen Themen und Projekte zu bekommen und eng mit nahezu allen Mitarbeitern zusammenarbeiten zu können.

Warum Scrum?

Scrum eignet sich hervorragend für große Projekte, die von einem kleinen Team mit begrenzten Ressourcen bearbeitet werden. Die Dynamik des Scrum-Prozesses erlaubt es auch auf unvorhersehbare Ereignisse schnell und angemessen zu reagieren. Die Aufteilung in kleine Unteraufgaben, die dann an inkrementell an einzelne Mitarbeiter verteilt werden, verhindert Überlastungen und unrealistische Vorstellungen. Die erhöhte Transparenz verhindert Staus im Projekt und lasten im Idealfall das Team optimal aus; zeigt aber auch plausibel und rechtzeitig personelle Engpässe.

Henning Konzmann

Henning Konzmann

Developer

Gefällt dir der Artikel? Bitte teile ihn!
Share on Facebook
Facebook
0Share on LinkedIn
Linkedin
Email this to someone
email
Tweet about this on Twitter
Twitter