Startseite
Hart an der Arbeit
Hart an der Arbeit

TYPO3 CMS Codesprint – wieder mal (anders)

Click Hier wenn du die Social-Plugins aktivieren willst.

Wer die Nachrichten rund um TYPO3 CMS verfolgt, ist sicherlich schon das eine oder andere Mal über das Thema „Codesprint“ gestolpert. Da gerade wieder ein TYPO3 CMS Codesprint stattgefunden hat – wir waren vom 1. bis 4. Mai bei der Agentur hmmh in Bremen zu Gast – möchte ich die Gelegenheit nutzen, nicht nur davon zu berichten, sondern auch zu erklären, was wir da eigentlich machen.

 

Die Idee hinter den Codesprints

Die ersten TYPO3 CMS Sprints haben stattgefunden, als noch TYPO3 4.5 entwickelt wurde. Im Allgemeinen sind Codesprints in der Software-Entwicklung, insbesondere im Open Source Bereich, nicht unbekannt und keine Erfindung von TYPO3. Die Idee dahinter ist, eine Gruppe von Entwicklern für einige Tage von ihren Alltagssorgen zu befreien und sie konzentriert an einem bestimmten Thema arbeiten zu lassen. Ein Zeitraum von drei bis vier Tagen hat sich für uns als effektiv erwiesen. Ein großer Vorteil dieser Treffen ist die deutlich geringere Kommunikationsschwelle, d.h. das die Entwickler, die sonst über mehrere Standorte verteilt sind, an einem Ort sitzen und sich direkt austauschen können. Es ist eben einfacher, sich zu zweit oder fünft vor einem Whiteboard zusammenzustellen und über Konzepte und Ideen zu beraten, als das über Email, Messenger oder Mailinglisten zu versuchen. Die üblichen Missverständnisse treten dabei gar nicht erst auf oder können viel schneller aufgelöst werden. So ist es möglich in vergleichsweise sehr kurzer Zeit komplexe Aufgaben zu definieren, im Team zu verteilen und dann auch daran zu arbeiten.

Motivation und Durchhaltevermögen der Teilnehmer sind meiner Erfahrung nach riesig, so lange der Sprint dauert. Wenn man da gut versorgt wird, das Team sich gefunden hat, die Aufgaben spannend sind und man den Fortschritt sieht, will man nicht mehr damit aufhören. Arbeitstage von 12 Stunden und mehr sind die Regel, nicht die Ausnahme. Daher sollte man das auch nicht allzu lange machen, irgendwann ist man mit den Kräften einfach am Ende. Der nächste normale Arbeitstag kann einem da ganz schön schwer fallen. Pausen sind übrigens dazu da, sich gegenseitig Mut zu machen, über Ideen zu phantasieren und natürlich zum Konzepte entwickeln. Wenn Du, lieber Leser, einmal in den Genuss kommen solltest, an einem Codesprint teilnehmen zu können, folge am Besten den Rauchern vor die Tür. Ob Du nun selber rauchst oder nicht, ein guter Teil der Ideen entsteht oft auf blauen Wolken.

Hart an der Arbeit

Hart an der Arbeit

 

Was macht einen erfolgreichen Codesprint aus?

Als Erstes ist eine klare Aufgabe bzw. ein Thema als einer der zentralen Erfolgsfaktoren zu nennen. Zum Beispiel bestand unsere Aufgabe darin, das bevorstehende Release vorzubereiten und eine Liste kritischer Bugfixes abzuarbeiten. Wenn sich das Security Team zum Sprint trifft, ist Sicherheit das Leitmotiv. Erfahrungsgemäß wirkt es sich negativ auf das Gesamtergebnis aus, wenn keine Vorgaben gemacht werden. Meist hat man dann eine breite Menge an Themen, die von ein paar wenigen Leuten mit mäßigem Elan bearbeitet werden, was wiederum die Effektivität beeinträchtigt. Selbstorganisation und Freiraum ist trotzdem wichtig, sonst leidet der Spaß – und der ist schließlich der Hauptmotivationsfaktor. Insbesondere im Open Source Bereich, denn hier kann man sowieso niemanden zwingen, an einem bestimmten Thema zu arbeiten.

Bord_erster_Abend

Kanban Board am ersten Nachmittag – noch ueberschaubar

Der nächste wichtige Punkt ist die Zusammenstellung des Teams. Ein Mischung aus Experten, Durchschnittstypen und Anfängern ist eine gute Sache, wobei das Mischungsverhältnis von der Aufgabe abhängt. Wenn ein hochkomplexes Thema im Raum steht, wird man sicher weniger auf unerfahrene Developer setzen wollen. Gibt es das Thema aber her, das auch Anfänger mitarbeiten können, so ist die Lernkurve für diese wahnsinnig steil. Das setzt natürlich auch voraus, dass die erfahrenen Leute bereit sind, Mentoring zu betreiben. Aber das sollte selbstverständlich sein, denn wenn die Teilnehmer nicht bereit sind, sich gegenseitig zu helfen, funktioniert das ganze Konstrukt nicht.

Der dritte Punkt ist die Location. Im Grunde sind Entwickler ja genügsam, aber stabiles WLAN, ein Raum mit genügend Platz zum Sitzen und Arbeitsgruppen bilden sowie Kaffee und Wasser zur freien Verfügung sind Mindestvoraussetzung. Es hat aber auch keiner was gegen eine nette Aussicht, Kuchen und Bier. Alltagssorgen sollen ja ausgeblendet werden, also sollte die Grundversorgung zur Nahrungsaufnahme stimmen. Okay, kauen können wir alleine, aber selbst die Auswahl der Pizza wirkt unter Umständen störend. Daher ist es sehr hilfreich, wenn sich jemand findet, der das Drumherum organisiert.

Auch die typovision GmbH war schon Gastgeber bei Codesprints des TYPO3 CMS Developments, und die Teilnehmer äußerten sich immer positiv über Location, Betreuung und Versorgung. Dem Gastgeber sind wir immer sehr dankbar, denn diese müssen unter der Woche oft ihre Geschäftstätigkeit einschränken und stellen uns dann über das ganze Wochenende ihre Räumlichkeiten zum arbeiten zur Verfügung. Wir wissen, dass das ein Opfer ist, aber am Ende profitieren alle davon.

holger_bringt_kuchen

Kuchen!

TYPO3 CMS Codesprint in Bremen

Diesmal geht unser Dankeschön für die Location an die hmmh Agentur für Digital Commerce & Brand Communication in Bremen, denn dort waren wir für das verlängerte Wochenende vom 1. bis 4. Mai 2014 im 12. Stock des Weser Towers zu Gast. Die Aussicht ist grossartig, direkt auf die Weser und beinah die ganze Stadt. Auch das Wetter hat mitgespielt, so dass wir Gelegenheit hatten, uns über den wünschenswerten Zustand der Jalousien zu verständigen (tageslichtaffine Entwickler gegen Kellerkinder) und wunderschöne Sonnenuntergänge zu betrachten. Wir waren in einem grossen Konferenzraum angesiedelt, wo wir niemanden stören konnten und uns keiner gestört hat. Die hmmh hat uns drei ihrer Entwickler an die Seite gestellt, ein vierter schloss sich spontan an. Die anderen Teilnehmer waren alte Hasen im Sprint-Geschäft. Wir waren recht schnell darin, unsere Neuzugänge einzuweisen und arbeitsfähig zu machen. Etwas Spaß hatten wir mit gesperrten Ports, die uns anfangs am Arbeiten hinderten, doch wurde das schnell und hilfsbereit abgestellt. Platz war genug, Kaffee gabs reichlich, und so war der Sprint auch wirklich effektiv. Wir haben fast alle kritischen Issues der eingangs erwähnten Liste abarbeiten können. Zusätzlich wurde noch eine grosse Anzahl Bugfixes in den Core gemerged und einige neue Konzepte auf den Weg gebracht. Die Stimmung war ausnehmend gut und wir sind alle ungern, aber mit einer grossen Portion Motivation nach Hause gefahren.

Location vorher und nachher

Location vorher und nachher

 

Die berühmten letzten Worte: Beim Codesprint geht es ums Coden, aber es ist keine geschlossene Veranstaltung. Wenn Du denkst, Du kannst etwas beitragen, interessierst Dich für die Arbeit am TYPO3 CMS Core und kannst ein paar Tage opfern? Wir freuen uns, wenn wir neue Gesichter sehen. Auf TYPO3.org gibt es immer die Ankündigungen, wann wo zu welchem Thema gesprintet wird, trag Dich einfach in die Liste mit ein, und vielleicht treffen wir uns beim nächsten Sprint?

2 Gedanken zu “TYPO3 CMS Codesprint – wieder mal (anders)

  1. Oliver Hader

    Cooler Artikel, der auch die Hintergründe etwas besser ausleuchtet. Well done & Danke Anja!

    Kommentar
  2. anja-leichsenring Post author

    Danke fuer die Blumen Es wird auch eine englische Version geben. Die wartet grade noch auf Freischaltung.

    Update: english version here: http://typo3.helmut-hummel.de/post/85852591525/a-different-typo3-cms-core-development-codesprint (thanks to Helmut Hummel for hosting)

    Kommentar

Hinterlasse einen Kommentar zu Anja Leichsenring Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>