agile Entwicklung

Dev Host: Wissenstransfer durch Pair Programming

von Matthias
Matthias Hampel
Pair Programming
Wir kennen es doch alle: Das Arbeiten in einem festen Projektteam birgt die Gefahr des Tunnelblicks. Nicht nach links oder rechts blicken zu können, geschweige denn über den Tellerrand hinaus. Um dieser Gefahr zu trotzen, haben wir bei Neoskop das Dev Host-Projekt ins Leben gerufen. Alle zwei Wochen werden zwei Entwickler:innen aus verschiedenen Projektteams ausgelost um gemeinsam eine Aufgabe zu lösen. Die Idee: Entwickler:in H („Host“) stellt Entwickler:in D („Dev“) eine Aufgabe aus dem eigenen Projekt.

Wir blicken über den Tellerrand hinaus.

Nachdem die beiden Entwickler in unserem Stand Up ausgelost wurden, verabreden sich diese selbstständig um eine Aufgabe zu lösen. Es spielt dabei keine Rolle, ob die Aufgabe eher im Frontend oder Backend angesiedelt ist und ob es sich um eine Programmiersprache, Technologie oder Bibliothek handelt, die dem Dev bereits bekannt ist. An dem ausgewählten Termin setzen sich die beiden Entwickler (Dev und Host) am Arbeitsplatz des Host zusammen und starten das Projekt gemeinsam anhand der Dokumentationen. Sollte es hierbei zu Problemen kommen, kann die Dokumentation des Projekts direkt erweitert und dokumentiert werden. Der Host erklärt dem Dev nun den engeren Rahmen der Aufgabe und zeigt, welche Codestellen bearbeitet werden müssen. Im Rahmen des Pair Programming arbeiten beide Entwickler zusammen an einer Lösung des Problems. Durch die gemeinsame Arbeit an einem Rechner, ist ein maximaler Wissenstransfer garantiert.

dev-host-teilnehmer werden ausgelost während des standups

Mitarbeiter:innen schulen Mitarbeiter:innen.

Durch dieses regelmäßige Projekt möchten wir erreichen, dass alle Entwickler:innen einmal in andere Projekte reingeschnuppert haben und die Projekte anhand der Readme-Dateien auf ihren Notebooks aufsetzen und starten können. Zusätzlich kann die DEV-Person die neuen Impulse in das eigene Projektteam einfließen lassen und innovative Lösungen fördern.

Um auch die anderen Kolleg:innen auf dem Laufenden zu halten, wird die gelöste Aufgabe im wöchentlichen Stand Up vor allen Neoskopler:innen (also nicht nur das Team) präsentiert. Die Aufgabenstellung wird dabei so erklärt, dass auch die Nicht-Entwickler:innen und Nicht-Teammitglieder nachvollziehen können, welcher Aufgabe sich Dev und Host in der letzten Woche gewidmet haben. Die „Übersetzung“ für Nicht-Entwickler:innen schult unsere Entwickler:innen zum einen darin, technische Sachverhalte einfacher zu erklären und zum anderen, diese dann auch beim Kunden verständlich zu präsentieren. Anschließend werden die Ergebnisse vorgestellt und die technische Umsetzung präsentiert. Hier darf auch gerne Code gezeigt und erklärt werden. Das Stand Up endet mit einer kleinen Fragerunde.

Arne und Matthias

Auch projektübergreifend Bestleistungen vollbringen.

Wir haben das Dev Host-Format im Frühjahr 2018 bei uns eingeführt und sind auch ein Jahr später immer noch begeistert. Der stetige projektübergreifende Austausch der Entwickler:innen hat dazu geführt, dass unser Quelltext viel aufgeräumter und leserlicher geworden ist. Insbesondere Lücken oder Fehler in den Readme-Dateien konnten gefunden und gefüllt werden. Auch das Aufsetzen von „fremden“ Projekten geht nun deutlich schneller und einfacher von der Hand. Zudem erfolgt durch eine neutrale Begutachtung einer projektfremden Person eine ständige Weiterentwicklung und Verbesserung des Codes. Auch für zukünftige Projekte, die ein ähnliches Problem behandeln, wird sowohl für die zuständigen Projektmanager:innen und Product Owner als auch für die Entwickler:innen aufgezeigt, in welchen Teams Kompetenzen in diesem Bereich liegen.

Wir freuen uns schon auf den nächsten Dev Host und sind gespannt, welcher Herausforderung sich unsere Kolleg:innen dieses Mal gestellt haben!

Hintergrund: Pair-Programming als agile Methode in der Softwareentwicklung

Pair Programming ist eine zentrale Technik aus dem eXtreme Programming (XP) und hat sich besonders in Entwicklungsteams, die nach Scrum arbeiten, etabliert. Neben der testgetriebenen Entwicklung und kontinuierlichen Integration gehört es zu einer beliebten agilen Entwicklungspraktik. Statt Dev und Host spricht man im ursprünglichen Konzept von "Navigator" und "Pilot". Während der "Pilot" den Code schreibt, kontrolliert der "Navigator" diesen und denkt über Verbesserungsmöglichkeiten nach. Das führt im Optimalfall zu durchdachterem und lesbarerem Code. Ganz im Sinne des agilen Arbeitens sind beide gleichberechtigt und die Rollen sind nicht festgeschrieben.

In einem Scrum-Entwicklungsteam sind neben Frontend- und Backendentwicklern auch andere für das Produkt notwendigen Fähigkeiten vertreten, wie sie beispielsweise Designer und UX-Experten mitbringen. Pair Programming kann daher auch bei der Arbeit zwischen UX-Experte und Frontend-Entwickler oder auch zwischen mehreren Personen (als eine Art Mob Programming) genutzt werden. Denn letztendlich ist das gesamte Team am Ende eines jeden Entwicklungszyklus (Sprint-Review) für das lieferbare Produktinkrement (eine mit neuem Features ausgestattete Produktversion) verantwortlich und organisiert seine Arbeit und Arbeitsweisen selbst.

Aljona und Filip

Wie erfolgreich Pair Programming im Endeffekt ist, ist abhängig von den Menschen, die zusammenarbeiten. Wie immer, spielen hier verschiedenste multidimensionale Faktoren einen Rolle, ob die Kommunikation erfolgreich ist oder nicht. Aber zum Glück gibt es dafür ja die Rolle des Scrum Master, welche im Zweifelsfall dafür sorgen soll, Hindernisse zu identifizieren und zu beseitigen :).

Du willst mehr über agile Softwarentwicklung erfahren?

Wie eine Schulung zum Produkt Owner eines Scrum-Teams abläuft, berichten Neoskop Projektmanager Jan-Christoph und Georg in ihrem Blogbeitrag "Lohnt sich eine Schulung zum Product Owner?". Falls Du dich für weitere agile Methoden und Frameworks interessierst, können wir Dir auch die anderen Coachings und Ausbildungen von it-agile sehr ans Herz legen.

Wir suchen Verstärkung für unser Frontend-Team!

Egal, ob Du Deine Ausbildung oder Dein Studium gerade erst abgeschlossen hast oder bereits fest im Berufsleben stehst: Bewirb Dich jetzt unter neoskop.de/jobs - Wir freuen uns darauf, Dich kennenzulernen!

Zurück zur Blogübersicht