Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

t3n 22

Wie Scrum das Projektmanagement von TYPO3 5 vorantreibt: Agiler Phoenix

Seitdem das neue PHP-Framework FLOW3, das die Basis für das kommende TYPO3 bildet, ausreichend stabil ist, konzentriert sich das TYPO3-Team seit Anfang des Jahres 2010 verstärkt auf die Entwicklung von TYPO3 5, Codename Phoenix. Am 21. März 2010 traf das TYPO3-Phoenix-Team die Entscheidung, die neue TYPO3-Version in Zukunft mit Hilfe des Scrum-Prinzips noch agiler zu planen und zu entwickeln[1]. Dieser Artikel beleuchtet Scrum und zeigt, wie das Team damit arbeitet.

Das Entwickler-Team der kommenden TYPO3-Version 5 ist stetig gewachsen. Um so wichtiger ist ein funktionierendes Projektmanagement.
Das Entwickler-Team der kommenden TYPO3-Version 5 ist stetig gewachsen. Um so wichtiger ist ein funktionierendes Projektmanagement.
Scrum ist eine Methode für das agile Projektmanagement. Es gibt online unzählige Informationen zu Scrum – eine besonders gute Übersicht findet sich auf der Website von agile42 [2], die auch eine einseitige Einführung zum Thema Scrum bietet. Dort findet sich folgende Definition: „Scrum ist ein interaktiver und inkrementeller Prozess für das Entwerfen von Produkten und das Organisieren von Teams. Die Scrum-Methode ist dabei behilflich, Tasks schneller und besser zu erledigen. Dies wird möglich, weil ein Team sich mit dieser Methode zu einem hohen Grad selbst motivieren kann, da es selbst entscheidet, wie und wann die einzelnen Tasks ausgeführt werden. Die Kundenanforderungen werden schrittweise priorisiert und schnell umgesetzt.“

Was leistet Scrum für Phoenix?

Die Grundidee hinter dem agilen Ansatz besteht darin, ein Produkt Schritt für Schritt zu entwickeln und sich dabei zuerst auf die wichtigsten Features zu konzentrieren. Da TYPO3 Phoenix über eine Menge Features verfügen wird, begann das Team mit einer rollenbasierten Mindmap von Anwendungsfällen (sog. User Stories), um selbst einen besseren Überblick zu erhalten und sich der eigenen Prioritäten bewusst zu werden [3]. Die Mindmap dient dabei als Basis für das Produkt-Backlog von Phoenix. Im Scrum-Jargon beschreibt das Produkt-Backlog eine Liste aller Features, über die ein Produkt verfügen soll. Derzeit definiert es im Fall von TYPO3 Phoenix die nächsten „User Stories“ und die kommenden Features als „Epics“.

Das Scrum-Team

Scrum basiert auf drei unterschiedlichen Rollen, von denen die wichtigste vom „Team“ übernommen wird.

Das Team rekrutiert sich in diesem Fall aus dem TYPO3-Phoenix-Core-Team [4] – einer Gruppe aus Experten um Robert Lemke und Karsten Dambekalns. Diesem Team kommt die schwere Aufgabe zu, die geplanten Features in die Realität umzusetzen. Das Ziel ist dabei: „get things done done“ – im Scrum-Universum bedeutet das, die Features nicht nur zu implementieren, sondern auch zu testen und sicherzustellen, dass sie die Anforderung „erledigt“ („definition of done“) auch wirklich erfüllen.

Der „Scrum-Master“ von TYPO3 Phoenix ist Ben van't Ende. Er kümmert sich um die Bedürfnisse des Teams und beseitigt Hindernisse. Er stellt unter anderem sicher, dass das Team sich an die Vorgaben von Scrum hält und dass es sich bezüglich der umsetzbaren Features während eines Sprints nicht selbst überschätzt.

Die dritte Rolle bei Scrum wird vom „Product Owner“ besetzt. Der Product Owner ist für den Erfolg eines Projekts verantwortlich. Er leitet die Entwicklung mit, skizziert die Arbeit im Scrum-Backlog und priorisiert die Tasks. Im Fall von TYPO3 Phoenix handelt es sich um ein Team von Product Ownern, die jeweils Experten auf ihrem Gebiet sind. Dieses Team trifft sich regelmäßig, um über die kommenden Features zu diskutieren, Prioritäten festzulegen und die „User-Stories“ im Produktkatalog auf den neuesten Stand zu bringen.

Neue und motivierte Mitglieder, die Interesse daran haben, TYPO3 Phoenix mitzugestalten, sind jederzeit herzlich willkommen. Scrum hilft neuen Mitgliedern effektiv dabei, relevante und interessante Tasks aufzuspüren sowie tiefer in bestimmte Bereiche einzudringen.

Definition of Done

Das zentrale Element des Entwicklungszyklus mit Scrum ist der so genannte Sprint. Dabei handelt es sich vereinfacht gesagt um die Umsetzung einer Iteration. Bevor man einen Sprint angeht, sammelt man die Produktanforderungen sowie administrative und technische Aufgaben im Produkt-Backlog.

FLOW3 und TYPO3 Phoenix legen den Fokus auf Qualität und eine verlässliche Architektur auf jedem Level. Außerdem besteht ein großes Streben nach einem benutzerfreundlichen und einheitlichen User-Interface.

Für die Entwicklung von TYPO3 Phoenix setzt das Team auf agiles Projektmanagement mit Scrum. Dieser interaktive und inkrementelle Prozess soll dabei helfen, Tasks schneller und besser umzusetzen.
Für die Entwicklung von TYPO3 Phoenix setzt das Team auf agiles Projektmanagement mit Scrum. Dieser interaktive und inkrementelle Prozess soll dabei helfen, Tasks schneller und besser umzusetzen.
Bei Scrum ist es wichtig, nach jedem so genannten „Sprint“ ein potenziell auslieferungsfähiges Produkt zu haben, das auch die definierten Kriterien des Sprint-Planning und die „definition of done“ erfüllt. Die „definition of done“ besteht aus einer Sammlung von Charakteristika, die jeder Task erfüllen sollte, und wird vom Team festgelegt und übergeben. Für TYPO3 Phoenix findet sich die „definition of done“ im Wiki [5], wo sie auch gepflegt wird. Zu den Schlüsselkriterien gehören unter anderem:

  • Sauberer und einfacher Code, der von Unit-Tests erfasst wird
  • Keine Workarounds
  • Die Dokumentation wird auf den neuesten Stand gebracht, sobald die Notwendigkeit besteht.
  • Funktionale Browser-Tests werden mit Selenium-Tests durchgeführt (Selenium ist ein Test-Framework für Webapplikationen, die eine Interaktion mit einem Browser erlauben).

Am Ende eines Sprints werden die fertigen Stories auf das Integrationssystem [6] deployt, wo auch Selenium-Tests durchgeführt werden. Dies geschieht mit Hilfe eines automatisierten Build-Prozesses, der von einem Continuous Integration System aufgerufen wird.

Eine rollenbasierte Mindmap von Anwendungsfällen definiert eine Liste aller Features, über die TYPO3 Phoenix verfügen soll.
Eine rollenbasierte Mindmap von Anwendungsfällen definiert eine Liste aller Features, über die TYPO3 Phoenix verfügen soll.

Finde einen Job, den du liebst

Bitte beachte unsere Community-Richtlinien

Schreib den ersten Kommentar!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden