Anzeige
Anzeige
Artikel
Artikel merken

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.

7 Min. Lesezeit
Anzeige
Anzeige

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.“

Anzeige
Anzeige

Du möchtest Scrum besser kennenlernen und verstehen? Unsere Videokurse zeigen dir, wie es geht!

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“.

Anzeige
Anzeige

Das Scrum-Team

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

Anzeige
Anzeige

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.

Anzeige
Anzeige

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.

Anzeige
Anzeige

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.

Anzeige
Anzeige

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.

Organisation und Meetings

Scrum in einem verteilten Team für die Entwicklung eines Open-Source-CMS einzusetzen, ist einzigartig und neu. Allerdings sind das große Engagement aller Teammitglieder und die Möglichkeiten, die das Web heute bietet, erfolgversprechend. So geht das Phoenix-Team im Einzelnen vor:

  • Die Sprint-Dauer beträgt fünf bis sechs Wochen.
  • Sprint-Planung, -Review und die Retrospektive erfolgen mit Hilfe von Online-Meetings, um sich virtuell treffen zu können sowie Desktops miteinander teilen zu können.
  • Das Team nutzt TYPO3-Events so häufig wie möglich, um persönlich miteinander diskutieren zu können.
  • Jeder, der an einem Task arbeitet, kann einen Jabber-Chat-Room nutzen, um Fragen schnell zu klären.
  • Täglich um 17.30 Uhr findet ein Daily Scrum statt. Per Mailingliste gehen Protokolle an alle Mitglieder, sodass jeder, der nicht teilnehmen kann, dennoch Bescheid weiß.
  • Statt ein Scrum-Board zu nutzen, pflegt das Team das Sprint-Backlog auf forge.typo3.org.

Derzeit blickt das Phoenix-Team auf drei erledigte Sprints zurück. Betrachtet man die bisherigen Resultate, kann man zuversichtlich in die Zukunft blicken.

Sprint 1

Das Ziel des ersten Sprints bestand darin, mit den grundlegenden CMS-User-Stories sowie dem Setup der benötigten Systemumgebung und Build-Prozesse zu beginnen. Die Ergebnisse des ersten Sprints waren dabei die erste reale mit TYPO3 Phoenix gerenderte Website sowie ein funktionierender Backend-Login.

Anzeige
Anzeige

Darüber hinaus setzte das Entwicklerteam einige Integrations-Builds auf: einen zum Bauen und Deployen des Integrationssystems und einen, um den ersten Selenium-Test für TYPO3 Phoenix laufen zu lassen. Die Stories drehten sich im Detail um die folgenden Themen:

  • Als Website-User möchte ich eine Website sehen.
  • Als Scrum-Team-Mitglied wünsche ich mir eine rudimentäre CI-Umgebung.
  • Als Entwickler wünsche ich mir eine einfache API, um eine Seite anzulegen und Content hinzuzufügen, um so das Content Repository zu befüllen.
  • Als Redakteur brauche ich einen Login und ein rudimentäres Interface für den Editor.

Das Phoenix-Team nutzt fortlaufende Integrations-Builds, um das Integrationssystem zu bauen und zu deployen. Außerdem nutzt man diese Builds auch für erste Selenium-Tests für Phoenix.

Das Phoenix-Team nutzt fortlaufende Integrations-Builds, um das Integrationssystem zu bauen und zu deployen. Außerdem nutzt man diese Builds auch für erste Selenium-Tests für Phoenix.

Sprint 2

Bei den geplanten Features für den zweiten Sprint lag der Fokus auf den grundlegenden CMS-Features für Seiten. Daraus resultierte, dass es nach diesem Sprint möglich war, Seitentitel im Backend zu bearbeiten. Außerdem stand als Ergebnis ein funktionsfähiges dynamisches Menü zur Verfügung, das mit TypoScript 2.0 arbeitet.

Ein Breadcrumb-Menü aufzusetzen, ist nun ganz einfach. Ein simples „myMenu = BreadcrumbMenu“ reicht aus. Zusätzlich erledigte das Phoenix-Team eine Menge konzeptioneller Arbeit unter der Haube – besonders in Bezug auf die Content-Sicherheit. Ein guter Überblick über den zweiten Sprint findet sich online als Video-Podcast [7].

Anzeige
Anzeige

Sprint 3

Während des dritten Sprints konzentrierte sich das Phoenix-Team weiter auf die grundlegenden Bearbeitungsfeatures im Editor. Dazu gehören Aspekte wie „Seiten hinzufügen“ oder „löschen“. Des Weiteren arbeiteten die Entwickler an der Integration des Rich-Text-Editors Aloha für das Bearbeiten im Frontend. Hier spielen konzeptionelle und technische Details im Hinblick auf Seitenebenen und Content-Typen eine Rolle.

Wo geht die Reise hin?

Die nächsten User-Stories auf dem Weg zu TYPO3 5 Phoenix drehen sich um die Bearbeitung von Inhalten, Templating und das Bearbeiten von Backend-Objekten. Sobald diese fundamentalen Aspekte implementiert sind, werden die Entwickler sich auf fortgeschrittene Features konzentrieren. Dazu gehören zum Beispiel die Integration von Workspaces und Support für Lokalisation. Wenn die damit zusammenhängenden Stories den Status „done done“ erreicht haben, steht bereits ein brauchbares TYPO3 Phoenix zur Verfügung, das dann auch das Gros der wichtigen Features eines CMS beinhalten wird.

Ausblick

Zum heutigen Zeitpunkt ist es schwer, verlässliche Voraussagen zum Termin für einen ersten Release von TYPO3 5.0 mit allen geplanten Komponenten zu treffen. Das Phoenix-Team versucht es dennoch und geht in seiner ersten Release-Einschätzung von Folgendem aus: Sprint Release 10 sollte die meisten Features zur Bearbeitung von Content sowie Nutzergenehmigungen etc. beinhalten.

Anzeige
Anzeige

Wie sich leicht erkennen lässt, rückt TYPO3 5.0 immer näher. Erste Pilotprojekte, die auf FLOW3 setzen und grundlegende CMS-Features ermöglichen, könnten bereits nächstes Jahr möglich sein. Das Phoenix-Team zeigt sich motiviert und arbeitet mit Hochdruck an der Implementierung der geplanten Features. Der Scrum-Prozess erlaubt dem Team dabei eine hohe Transparenz bezogen auf den derzeitigen Stands und auf die kommenden geplanten Schritte.

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Schreib den ersten Kommentar!
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige