We contribute! Rückblick auf das Praktikum Software Engineering der Uni Bern

Andreas Odermatt

Im Dezember 2017 kontaktierte uns Thomas Staub von der 89grad GmbH, nachdem er an der Uni Bern den neuen Lehrauftrag „Praktikum Software Engineering (PSE)“ im Rahmen des Informatik Studiums angenommen hatte. Was nun daraus geworden ist

Für das PSE werden reale Projekte von Firmen und Organisationen gesucht, die ein Team von Studenten umsetzen kann. Deshalb wurden wir angefragt, ob ein passendes Projekt vorhanden ist und wir die Rolle als Auftraggeber resp. Kunde übernehmen möchten.

Wer Puzzle kennt, weiss, dass wir uns stark für den Nachwuchs einsetzen. Unser Berufsbildungsteam (BBT) arbeitet an Puzzle-eigenen Lösungen oder neuen Projekten. Das Team besteht aktuell aus 9 Lernenden/Praktikanten. Zudem setzen wir uns auch für andere Initiativen wie der „IT-Ninjas-Schnupperwoche“, den „Rails Girls“ oder dem Nationalen Zukunftstag ein.

Daher war es für uns schnell klar, dass wir hier einer Gruppe von Studenten die Möglichkeit geben wollen, erste wichtige Praxiserfahrungen zu sammeln.

Das Projekt

Als Product-Owner von „Puzzle Skills“, einer Webapplikation zur Verwaltung der Skills, Know-Hows und CVs unserer Members, hatte ich bereits konkrete Pläne und Anforderungen zur Weiterentwicklung dieser Lösung.

Das Gesamtprojekt haben wir den Studenten einige Wochen später vorgestellt und hofften, dass sich jemand der Herausforderung stellen möchte. Der Auftrag lautete wie folgt:

  • Redesign des bestehenden Frontends mit Fokus auf Usability
  • Erweiterung der Webapplikation um Funktionalitäten im Bereich Skill-Management und Optimierung des Suchdienste
  • Eine Lösung schaffen, die erweiterbar ist.

Des weiteren ist vorgesehen, die Applikation zu Beginn des PSE-Projekts unter einer Open Source Lizenz zu veröffentlichen und als Open Source Projekt weiter zu entwickeln.

Für Puzzle Skills kommt ein topmoderner Techstack zum Einsatz.

Frontend: Ember JS (2.13) und Twitter Bootstrap 3
Backend / Database: Ruby on Rails 5, PostgreSQL 9.5
Entwicklungsumgebung: Betrieben wird die Applikation auf einer Openshift 3 Umgebung. Somit wird die Qualität der Software mit einer hohe Abdeckung mit Unit- und Integrationstests für Frontend und Backend sichergestellt. Nightly- und Commit Builds werden auf einem Jenkins Server von Puzzle regelmässig ausgeführt. Die Versionsverwaltung erfolgt mit Git und die Dokumentation wird in einem Twiki festgehalten.

Das Team

Ein motiviertes 4er-Team konnte sich für unser Puzzle Skills begeistern.

 

Das Team wurde von mir als Product-Owner geführt und auch in den Themen User Experience und Projektmanagement mit Rat und Tat unterstützt. Zudem wurden sie von Pascal Simon, einem sehr erfahrenen Puzzle Software Engineer und Ausbildner im BTT, technisch betreut und gecoacht.
Einen Tag pro Woche traffen sich die Vier bei Puzzle in Bern um gemeinsam weiterzuarbeiten und gleichzeitig den Austausch mit den Auftraggebern zu haben. Ein weiteres Kommunikationsmittel war ein Kanal im Rocket.Chat von Puzzle.
Die Rollenaufteilung nahm das Team selber vor: Es gab Spezialisierungen in Richtung Frontend, Backend und auch Testing.
Nun interessiert ihr euch sicher, wie das „PSE“ für das Team war. Im Interview erfahrt ihr mehr dazu:

Andreas Odermatt (AO): Warum habt ihr euch für das Praktikum eingeschrieben und noch viel wichtiger: Wieso habt ihr euch für unser Projekt entschieden?
Team (T): Die Vorlesung „PSE“ selber ist Teil des Informatik-Studienplans und die einzige praktische Vorlesung. Daher war das für uns eine einfache Wahl. Das Projekt von Puzzle wurde sehr überzeugend vorgestellt und der Vorschlag, dass man auch vor Ort bei Puzzle arbeiten kann, war für uns auch ein Vorteil.

AO: Wie ist das „PSE“ aufgebaut?
T: Wir hatten insgesamt vier Iterationen à je drei Wochen. Reine Vorlesungen gab es nicht. Am Anfang gab es einen Input zu Präsentationstechniken und hielten von da an jede Woche selber Vorträge zu Themen wie Risikoanalyse, Usability Testing, Software-Architektur, etc. Der zeitliche Aufwand belief sich auf ca. 150h pro Student.
Zu Beginn jeder Iteration gibt es ein Planning mit dem Kunden, in dem der Inhalt und die Ziele festgelegt werden. Nach Abschluss jeder Iteration erfolgte das Review und die Abnahme mit Puzzle als Kunde. Zudem machten wir jeweils eine Demo des aktuellen Fortschittes an der Uni.

AO: Wie war für euch die Zusammenarbeit als Team und wie habt ihr euch organisiert?
T: Drei Teammitglieder kannten sich bereits von der Vorlesung „Einführung in das Software-Engineering“ aus dem vorherigen Semester. Somit haben wir uns entschieden, auch dieses Mal wieder zusammen zu arbeiten. Samuel, das vierte Teammitglied, war zwar auch in dieser Vorlesung, jedoch nicht bei uns in der Gruppe. Da er uns (oder das Projekt?) aber sehr anziehend fand, hat er sich zu uns gesellt. Zusätzlich zu den Vorträgen an der Uni versammelten wir uns jeden Montag für eine Sitzung mit unserem Uni-Betreuer Mario. Er stellte sicher, dass wir auf dem richtigen Weg waren und gab uns Tipps für die kommenden Vorträge und Kundengespräche.
Im Team haben wir uns über Discord auf dem aktuellsten Stand gehalten. Dort integrierten wir auch einen Bot, welcher uns 24/7 über Updates auf unseren Github-Branches informierte. Auch das Angebot bei Puzzle vor Ort zu arbeiten, nahmen wir gerne an. So trafen wir uns an mehreren Freitagen und konnten gemeinsam an den nächsten Vorträgen arbeiten und Programmierprobleme zusammen lösen.

AO: Wie erfolgte die Zusammenarbeit mit Puzzle als Kunden? Wie waren eure Erfahrungen damit?
T: Wir haben uns jeweils am Ende jeder Iteration bei Puzzle getroffen. Dabei wurde jeweils ein Review inklusive Demo gehalten und eine kleine Retrospektive durchgeführt. Anschliessend wurde auch gleich die nächste Iteration geplant und die Backlog-Items geschätzt. Unsere Kontakte bei Puzzle (Andreas und Pascal) waren nicht nur sehr flexibel, sondern auch immer offen für neue Vorschläge. Wir konnten die Iterationen mit realistischen Erwartungen angehen und auf Probleme wurde immer schnell und mit Verständnis reagiert.

AO: Welches waren die grössten Herausforderungen und grössten Erfolge für euch?
T: Am Anfang war das Einarbeiten in neue, uns unbekannten Technologien am schwierigsten. Wir hatten zwar alle während der ersten Iteration ein Ruby-Tutorial durchgearbeitet, trotzdem war der Einstieg schwer. Auch Javascript und die Architektur von Ember.js haben dafür gesorgt, dass sich der Weg am Anfang holprig gestaltete. Doch je länger das Projekt andauerte, desto sicherer wurden wir mit den Tools und Programmiersprachen. Die Ziele konnten wir immer effizienter und schneller umsetzen.
Die Erfahrungen, die wir in diesem Projekt gesammelt haben, waren den Aufwand sicher doppelt wert. Eine ganze Webapplikation zu überarbeiten und dazu noch das Zusammenspiel zweier Frameworks (Ember.js und RubyOnRails) kennen zu lernen, hat uns alle viel, auch für die Zukunft nützliche Erfahrung gebracht.

AO: Würdet ihr wieder an dem „PSE“ teilnehmen und es anderen Studenten empfehlen?
T: Da solche praktische Erfahrungen durch nichts zu ersetzen sind, ganz klar ja!

Fazit

Anfangs waren wir recht unsicher, was wir vom Team erwarten konnten. Die vier Talente hatten bisher noch wenig zusammen gearbeitet und auch der Techstack war fast komplett unbekannt. Umso erstaunlicher war es, wie rasch sie sich als Einheit gefunden haben und selbstorganisiert, zuverlässig und professionell das Projekt realisiert haben. Als Aussenstehender hatte man den Eindruck, dass dieses Team schon diverse Software-Projekte zusammen umgesetzt hat. Hut ab!

Pascal und mir hat das Zusammenarbeiten mit dem Team grossen Spass gemacht. Die Fortschritte, die das Team im technischen und organisatorischen Bereich gemacht hat, waren beachtlich.
Es macht sehr viel Freude, diese Entwicklung zu beobachten und einem jungen, motivierten Team zu helfen wichtige praktische Erfahrungen zu sammeln. Das gibt uns die Motivation, auch beim nächsten PSE wieder dabei zu sein!
Zudem kann sich auch das Resultat sehen lassen. Die umgesetzten Features werden in Kürze produktiv geschaltet. Anschliessend wird das Tool von unserem BBT weiterentwickelt.
In diesem Sinne nochmals vielen Dank ans ganze Team für die super Arbeit! Wir wünschen euch viel Erfolg beim Studium und sind überzeugt, dass der ICT-Markt Schweiz schon bald vier neue gute Fachkräfte erhalten wird. 😉

Schreibe einen Kommentar