Onboarding extreme - Wenn jedes Semester das ganze Team neu aufgestellt wird

10. September 2020 von Michael Dirksmöller

Dieser Artikel reflektiert die Onboarding-Erfahrungen die wir (Prof. Peter Hertkorn, Gero Gras und Michael Dirksmöller) mit Unterstützung mehrerer Kollegen in dem studentischen Projekt zur Entwicklung der Software für den Ligabetrieb in Württemberg gemacht haben.

 

Agile Projekte mit ständig wechselnden Teams. Was sind die Herausforderungen und Lösungsansätze für effizientes Onboarding in bestehende Projekte?

Dass Sportverbände wenig Mittel für Investitionen haben ist bekannt. Daher entwickeln wir in einem Open-Source-Projekt in Kooperation mit der Hochschule Reutlingen (mit Studenten des Studiengangs Medien- und Kommunikationsinformatik) die Software für den Ligabetrieb  der württembergischen Bogenschützen. Diese erleichtert die administrative Arbeit im Ligabetrieb enorm, denn:

  • Sportveranstaltungen mit beteiligten Vereinen, Sportlern und Mannschaften können besser koordiniert werden
  • Lizenzen und Dokumente können leichter und schneller erstellt werden und
  • Wettkampfergebnisse werden erfasst und die aktuelle Liga-Tabelle ermittelt

Basis für dieses Open Source-Projekt ist ein bewährtes Architektur-Grundgerüst und der Einsatz von Werkzeugen, die keine Lizenzkosten erzeugen. Das Projekt ist bereits seit dem Wintersemester 2018/19 Teil eines Softwarepraktikums der Vorlesung „Softwaretechnik 2“, die im 4. Semester angeboten wird, und ist im Vergleich zu anderen Softwareprojekten in Reutlingen und in vergleichbaren Vorlesungen anderer Hochschulen inzwischen sehr groß und komplex geworden.

 

 

Onboarding-extrem

 

 

Wie können immer wieder neue Projektteams in laufende Projekte eingebunden werden?

Zu Semesterbeginn besteht die Herausforderung darin, ein völlig neues Projektteam aufzusetzen. Aufgrund der durchschnittlichen Semestergröße von etwa 25 Studierenden müssen sich drei bis vier parallel arbeitende Scrum-Teams finden und im Projekt aktiv werden.

Die noch im ersten Semester aufgetretenen technischen Hürden, wie zum Beispiel die Installation der Entwicklungsumgebungen auf den unterschiedlichsten Systemkonfigurationen der Studenten, haben wir gemeistert. Alle Entwickler, die zum Projekt hinzukommen, erhalten eine virtuelle Umgebung mit vollständig installierten und konfigurierten Tools. Somit entfällt der Installations-Overhead und es bleibt mehr Zeit für die Einarbeitung.

Die Corona-Krise förderte zusätzliches Potential zu Tage, denn seit diesem Semester gibt es zur Projekteinführung eine Reihe von Videos zu verschiedenen Aspekten und der Entwicklung im Projekt, z.B.:

  • ein genereller Projekt-Überblick,
  • über den Umgang mit Repository und Datenbank,
  • über die Einführung in die Architektur des Systems und
  • vor allem hilfreiche Tipps aus dem Feedback der vorangegangenen Semester.

Somit entfällt ein erster inhaltlicher Kickoff und wird durch eine offene Diskussion und Fragerunde ersetzt, die das Gesehene vertieft und Verständnis schafft.

Im Gegensatz zu vielen Software-Aufgaben an der Hochschule ist in diesem Projekt nicht nur die Zusammenarbeit und die gegenseitige Unterstützung der Studierenden innerhalb ihres eigenen Teams notwendig und wichtig, sondern auch die Zusammenarbeit zwischen den verschiedenen SCRUM-Teams, da alle an derselben Software arbeiten.

 

Wie schafft man eine gute Basis? Mit Kommunikation und Nähe im Projekt.

Um eine gute Basis zu schaffen, werden in den ersten Terminen die Projektziele vorgegeben und gemeinsam die Regeln der Zusammenarbeit beschlossen. Jedes Teammitglied ist eingebunden und drückt explizit, textuell und für alle transparent seine Zustimmung zu diesen Regeln aus.

Da die Komplexität des Systems stetig zunimmt, steigt auch der Einarbeitungsaufwand, den die Studierenden zu Beginn investieren müssen. Die eingesetzten Sprachen und Werkzeuge, wie Angular, Typescript, Java, Springboot und PostgreSQL bedürfen expliziter Einarbeitung.

Dabei haben wir gelernt, dass die Verwendung und das „Learning by doing“ hier den schnellsten Zugang zu Sprachen und Werkzeugen sicherstellen. Das wiederum ist nur möglich, wenn diese Phase durch aktive Kommunikation und Erreichbarkeit unterstützt wird. Dazu nutzen wir neben diversen Screen Sharing und Webkonferenz-Tools explizit Slack, Confluence und Jira.

Fragen werden in verschiedenen Support Channels gepostet. Das hat den Vorteil, dass diese Fragen nicht nur von einigen Wissenden beantwortet werden können, sondern allen Beteiligten im Projekt. Mit unterschiedlichen Betrachtungsweisen können so optimale Lösungsansätze herausgearbeitet werden.

In manchen Semestern finden sich auch Studenten bereit, das nächste Semester aktiv zu unterstützen. Das aktive Fragen wird als positive Mitwirkung im Projekt honoriert und wertgeschätzt.

So schaffen wir eine konstruktive Grundstimmung und verbreiten das Wissen im ganzen Team.

 

Können erste Ergebnisse schnell erzielt werden?

Die eindeutige Antwort: Ja! In einem ersten Sprint arbeiten die Studierenden zunächst einzeln an einem kleinen Bugfix und verschaffen sich so einen ersten Überblick über die Entwicklungsprozesse sowie den Code, wobei möglichst wenig Abhängigkeiten zu anderen Bugfixes existieren sollten.

Ab dem nächsten Sprint werden die Aufgaben herausfordernder, weil die Größe und Komplexität der Aufgaben zunimmt. Die Teams finden sich zur gemeinsamen Problemlösung zusammen. Das Projekt macht dann Spaß und geht schnell voran.

 

Wie funktioniert die Zusammenarbeit im Detail?

Wir verwenden geklonte virtuelle Remote-Umgebungen auf den Servern der Hochschule. Dies entkoppelt uns vollständig von der Hardware-Ausstattung der Studenten. Sind wir noch im ersten Semester daran gescheitert, dass viele Studenten nur eine „Windows Home“ Lizenz hatten und Tools wie z.B. Docker nicht überall liefen, können wir jetzt sicherstellen, dass alle Studenten die gleiche Entwicklungsumgebung nutzen.

 

Auch wenn das kontinuierliche Fortführen von Dokumentationen und Backlog nicht nur Nutzen sondern auch mitunter Verwirrung schafft (weil die abgeschlossenen Stories bzw. Subtasks aus dem letzten Semester nicht immer leicht verständlich sind), so ist dies doch wesentlicher Bestandteil der Projektarbeit. Denn nur so kann der Product Owner die Aufgaben filtern und sortieren, um sie für das nächste Semester angemessen zu priorisieren.

Dauerhaft wertvolle Dokumente werden im Confluence abgelegt und die redaktionelle Arbeit dort, ist genauso Teil der Aufgaben für die Scrum-Teams und somit ein wertvoller Beitrag zum Projekt. So können sich alle einbringen - je nach Vorlieben mehr auf der Entwicklungs- oder auf der Test- und Dokumentationsseite.

 

Die Projektregeln

Unsere Projektregeln sind einfach aber sehr wertvoll - auch wenn einige Regeln in Zeiten von Corona leicht neu interpretiert werden müssen…

 

Projektziele-Spielregeln

 

Unsere Projektziele und Spielregeln

 

Motivation durch Erschaffen von Werten

Das Projekt hat einen konkreten Kunden und ein erreichbares Ziel. Alle Beteiligten kennen Gero Gras in seiner Rolle als Verantwortlichen der Bogensport-Liga in Württemberg und als Product-Owner des Systems. Wenn alle den Go-Live-Termin immer näher rücken sehen, schafft das Motivation und Spaß am eigenen Arbeitsergebnis.

Zur Belohnung gibt es zum Ende des Semesters für alle beteiligten Studenten noch einen kleinen Bogensport-Kurs zum Ausprobieren.

 

Was sagen die Studenten dazu?

Das Konzept zur Vermittlung der agilen Softwareentwicklung in einem konkreten, realen Projekt mit Kunden und nutzenschaffendem, inhaltlichem Ziel kommt gut an und wird seitens der Studenten mit viel positiver Rückmeldung bedacht. Hier ein paar Auszüge aus den Feedback-Bögen der letzten Semester:

„Die beste Veranstaltung im Studiengang, es wird aber viel angefordert“

„Vom Umfang natürlich das zeitaufwendigste Modul, aber man nimmt wirklich auch sehr viel mit. Die Hilfe, die man zu jeder Zeit bekommt ist auch wirklich super“

„Komplexes großes Projekt mit neuen Techniken. Nach Einarbeitung war das Arbeiten im Projekt machbar.“

„Sehr guter Eindruck in professionelle Softwareentwicklung“

„Das Projekt war sehr nice und wir hatten einen großen Einblick in die Softwareentwicklung“

„Hat viel Spass gemacht“

„Es hat sehr viel Spass gemacht. Hätte gerne mehr Zeit dafür gehabt….“

 

Weitere Informationen

Haben Sie Fragen zum Thema "Agile Softwareentwicklung" im Speziellen oder Projektmanagement und Scrum im Allgemeinen?

Schreiben Sie mir eine E Mail, ich freue mich auf Ihre Kontaktaufnahme:

emailmichael.dirksmoeller@exxcellent.de

 

Lernen Sie auch unser gesamtes Beratungsportfolio kennen unter:

bubble-chat-information-2-1www.eXXcellent.de

 

Über die Teilnehmer

Peter Hertkorn ist Professor für Informatik, Programmiersprachen, Datenbanken an der Fakultät Informatik der Hochschule Reutlingen. Er lehrt Softwaretechnik und Datenbanksysteme in den Studiengängen Medien- und Kommunikationsinformatik sowie Human-Centered Computing. Seine Forschungsinteressen liegen in den Themengebieten Modellgetriebene Softwareentwicklung, DevOps und Computer Supported Interactive Learning and Teaching Environments.

 

Gero Gras ist gelernter Fachinformatiker und arbeitet seit 8 Jahren im Bereich Server-, Storage- und Infrastruktur. In seiner Freizeit engagiert er sich Ehrenamtlich im Bogensport. Hier ist er Ausgebildeter Trainer, Kampfrichter und Landesligaleiter des Württembergischen Schützenverband – und Product-Owner des Projekts.

 

Über Michael Dirksmöller

Michael Dirksmöller ist Mitglied der Geschäftsleitung der eXXcellent solutions und aktuell verantwortlich für den Standort Stuttgart. Er ist seit 20 Jahren im IT-Geschäft mit umfassender Erfahrung in Projekten aller Größenordnungen mit On-, Near- und Farshore. Seine Steckenpferde sind Hybride Projektmodelle, Servant Leadership + Change Management sowie die Ausbildung.

Tags: Alle Blogbeiträge, Methodik/Vorgehen, Agiles Projektmanagement

Diesen Artikel teilen:


Newsletteranmeldung