31. Mai 2013

Die neue Team Struktur für Neos und Flow

Vor zwei Wochen fand in Karlsruhe ein TYPO3 Neos Code Sprint statt, bei welchem nicht nur an den offenen Features gearbeitet wurde, sondern auch zu verschiedenen Themen Diskussionen stattfanden.

Eines dieser Diskussions-Themen beschäftigte sich mit der Team-Struktur, denn auch das TYPO3 CMS Team hat erst kürzlich eine Überarbeitung seiner Team-Struktur bekannt gegeben. Dies war im Falle des CMS dringend nötig, denn seit den Anfängen des CMS gab es keine Anpassungen an neue Bedingungen wie eine gewachsene Team-Größe oder verstärkte Unterteilung in Unterprojekte für spezifische Teile des TYPO3 Kerns.

Für TYPO3 Neos ist es vor allem wichtig, dass das Team einfacher wachsen kann. Für Interessenten sollte es möglichst einfach sein an Neos oder Flow mitarbeiten zu können und gleichermaßen sollte jeder Beitrag auch als solcher anerkannt werden. Die gesamte Team-Struktur baut hierbei auf gegenseitiges Vertrauen auf, denn jeder aktiv Mitwirkende erhält einige Privilegien (z.B. Merge-Rechte im Git-Repostitory und Zugriff auf die Projekt-Webseite). Weiterhin wird es keine technischen Hürden geben, die sich beispielsweise nach einem gewissen Aktivitäts-Level oder der Art der Beiträge richten. Dadurch kann das Team auf diverse kleinere Unterrollen verzichten und sich auf zwei verschiedene Hauptrollen Contributor und Active Contributor beschränken.

Neben der Mitarbeit an Neos selbst und dem Framework gibt es in einem solchen Team allerdings auch Aufgaben, die in jedem Fall erledigt werden müssen und für die es klare Zuständigkeiten geben sollte. Aus diesem Grund hat das Team beschlossen neben den folgenden Haupt-Rollen auch ein paar weitere Gruppen und Rollen zu definieren.

Contributor

Alles startet mit dem ersten Beitrag (Contribution) zu TYPO3 Neos oder Flow: Jeder Interessierte, der Neos oder Flow mit der eigenen Arbeitsleistung voranbringen möchte, ist eingeladen zu helfen. Wobei dies nicht zwangsweise in Form von Code geschehen muss: neben der Programmierung gibt es viele andere Bereiche, wie etwa Design, die offiziellen Webseiten und nicht zuletzt die Dokumentation der Systeme.

Active Contributor

Active Contributor ist gewissermaßen der neue Name für die bisherigen Core Team Member. Damit bilden alle Active Contributor zusammen das Neos Team.

Leistet ein Contributor regelmäßig qualitativ hochwertige Beiträge, beschließen die bisher aktiven Mitwirkenden gemeinsam, dass der Contributor eingeladen wird ein Active Contributor zu werden. Mit dieser Rolle erhält man zum Beispiel volle Merge-Rechte für das Git Repository und Zugriff auf die Infrastruktur für die Flow und Neos Entwicklung. Es wird aber auch erwartet, dass man konstant mitarbeitet und sich an aufgestellte Regeln, wie den Code of Conductdes TYPO3-Projekts und die Werte des Neos Teams hält.

Neben diesen beiden generellen Rollen gibt es zudem ein paar besondere Gruppen und Rollen innerhalb des Teams:

Coordination Group

Diese Gruppe ist für die Leitung und Koordination wichtiger Aufgaben zuständig und besteht wiederum aus einigen Active Contributors, die festgelegte Zuständigkeiten erhalten. Zunächst wurden die folgenden Rollen definiert, die sich aber im Laufe der Zeit ändern können:

  • Project Leader: Leitet das Projekt und die Vision und hat den Blick auf das große Ganze
  • Quality Manager: Stellt sicher, dass die Qualitäts-Standards des Projektes eingehalten werden und stellt hierzu ein Team von „Quality Guardian“ zusammen
  • Community Contact: Ist der Ansprechpartner für Anwender und vorhandene oder neue Contributor
  • Public Relations Manager: Ist der Kontakt-Punkt zum Marketing Team und der Presse , stellt Neuigkeiten bereit und betreut die Produkt-Webseiten
  • Treasurer: Ist der sogenannte Budget-Owner (verwaltet also das vorhandene Budget) und kümmert sich um Fund-Raising für das Projekt

Quality Guardian

Diese Gruppe setzt sich aus einigen Active Contributorn zusammen, deren Aufgabe darin besteht Konsistenz und Stabilität des Projektes zu gewährleisten. Enthält eine Anpassung beispielsweise nicht-abwärtskompatible Änderungen oder neue Konfigurations-Optionen ist es Aufgabe dieser Gruppe zu klären, für welchen Release diese Änderungen passend sind.

Release Manager

Der Release Manager organisiert jegliche Arbeit bezogen auf einen speziellen Release eines Produkts und kümmert sich auch um die darauf bezogene Kommunikation. Den jeweiligen Release Manager bestimmen die Active Contributor gemeinsam mit dem Quality Manager.

Package Maintainer

Sowohl Neos als auch Flow bestehen aus vielen verschiedenen Paketen und neben dem jeweiligen Kern des System gibt es für jedes Paket einen Zuständigen der sich leitend um die Weiterentwicklung dieses Paketes kümmert. Wer erstmals etwas zu einem dieser Pakete beisteuern möchte sollte sich mit dem jeweiligen Package Maintainer absprechen.

Bislang habe ich viel darüber geschrieben, dass diese Team Struktur für Neos und Flow gleichermaßen gilt. Bis auf Weiteres wird dies auch der Fall sein. Bislang gab es ein Team für beide Systeme und um es nicht unnötig kompliziert zu machen, wird dies bis zum ersten stabilen Release von Neos auch so bleiben. Alle Rollen und Gruppen gelten momentan also gleichermaßen für Neos und Flow.

31. Mai 2013
Berit Hlubek

Berit Hlubek