TechLead-Story: Wolfgang Gassner, Director Produktentwicklung bei MIC

TechLead-Story: Wolfgang Gassner, Director Produktentwicklung bei MIC

Team

Also wir haben zwei Arten von Teams in der Produktentwicklung. Das eine sind die Produktteams, welche jeweils die Verantwortung für ein Modul von uns haben. Dort haben wir uns im Sinne von Scrum organisiert, dass wir einen Product Owner haben, das Dev Team und einen Scrum Master, welcher das Team unterstützt. Daneben haben wir auch zwei Infrastruktur Teams, für Qualitätssicherung und für neue Technologien – Research und Development –, welche beide als Serviceteams für die Produktteams fungieren.

Die Produktteams oder Dev Teams haben – wir versuchen uns hier an den Empfehlungen von Scrum mit 7 Leuten zu orientieren – von 3 bis 15 Leute. Wenn die Teams dann so in Richtung von 12 gehen, dann spalten wir es und machen ein neues Produktteam, wo es dann wieder Product Owner und Scrum Master gibt. Wir haben uns für diese Organisation entschieden, weil wir traditionell ein sehr starkes Projektgeschäft haben. Sehr viele Anforderungen bekommen wir von unseren Kunden aus den Projekten – aber auch aus den Support – und sind hier sehr gefordert die Wünsche unserer Kunden zu erfüllen. Wir sind nicht in der Lage alle Wünsche zu erfüllen, deswegen müssen wir auch priorisieren und uns fokussieren auf die wichtigsten Punkte, welche den meisten Nutzen für die Kunden bringen. Das war der Hauptgrund für diese Form der Organisation. Wir versuchen im Dev Team ein Pull-Prinzip zu leben: das Dev Team entscheidet auf Basis des Backlogs, an was im nächsten Schritt gearbeitet wird. Wir wollen die Arbeit limitieren, damit nicht an zu vielen Sachen parallel gearbeitet wird – das war in der Vergangenheit ein großes Problem. So versuchen wir kontinuierlich einen Wert in unserer Software zu erzeugen und den Kunden zu liefern.

Recruiting

Also wenn wir neue Positionen oder neue MitarbeiterInnen suchen, dann legen wir natürlich zunächst einmal gemeinsam mit unserer HR Abteilung fest, was das Anforderungsprofil ist, was sind die Tätigkeiten, Aufgaben, usw. Die HR Kolleginnen suchen dann in den Bewerbungen passende Kandidatinnen und Kandidaten aus. Dann kommen wir ins Spiel um die Auswahl zu machen und die Leute zu einem Bewerbungsgespräch einladen. Wir haben insgesamt einen 3-stufigen Bewerbungsprozess. Wenn das Bewerbungsgespräch beiderseits positiv verläuft, dann gibt es einen zweiten Termin, das nennen wir „look and feel“. Hier haben die BewerberInnen die Möglichkeit das Team zu treffen, wo sie dann auch in Zukunft mitarbeiten könnten, das Büro zu sehen, die Werkzeuge, die Leute kennenlernen – all diese Dinge. Wenn es dann noch immer passt für beide Seiten, dann gibt es als dritte Stufe die Vertragsunterzeichnung und das Vertragsgespräch mit dem Eigentümer.

Kandidaten

Wir legen sehr viel Wert darauf, dass KandidatInnen teamfähig sind. Wir haben uns entschieden, Scrum als Vorlage zu nehmen, wie wir uns organisieren. Dort ist Kommunikation das A und O. Also wir versuchen, dass die Leute miteinander reden. Wir wollen keine Leute, die sich ins finstere Kämmerlein einsperren und wochenlang an einer Aufgabe arbeiten, sondern wir wollen die Leute dazu ermutigen, dass sie täglich miteinander sprechen, ihre Probleme austauschen und gemeinsam an Lösungen arbeiten und sich nicht abkapseln. Teamfähigkeit, Kommunikation – das hat einen sehr großen Stellenwert bei uns.

Technologien

Die Hauptaufgabe bei uns ist Daten schaufeln. Wir haben eine sehr datenzentrierte Anwendung und wir transformieren Basisdaten aus dem ERP System, reichern sie an und erzeugen dann die Deklarationen, welche an die Zollbehörden geschickt werden. Also wie gesagt – Daten schaufeln. Dadurch ist natürlich eine Datenbank im Zentrum unseres Tech Stacks, wir setzen da seit Anfang an auf Oracle – also eine relationale Datenbank, weil die Daten an und für sich ja sehr strukturiert sind. Wir haben in Vergangenheit die Geschäftslogik in PL/SQL implementiert, es war sehr naheliegend – Daten schaufeln! – aus Performance-Gründen die Prozesse in der Datenbank direkt ablaufen zu lassen. Wir sind gerade dabei, hier neue Wege einzuschlagen und das ganze in Richtung Java EE zu migrieren und neue Prozesse dann in Java EE zu implementieren, weil man einfach dort bessere Möglichkeiten haben, neue Methodiken – wie etwa Domain Driven Design oder Testautomatisierung – besser abzudecken. Natürlich, die Leute, die heute ausgebildet werden, die können schon Java wenn sie zu uns kommen. PL/SQL habe auch ich lernen müssen und es ist eine große Herausforderung, die uns natürlich sehr beansprucht. Aber es führt an diesem Weg nichts vorbei.

Das Front End ist auch sehr wichtig für uns, weil die Benutzer auch Daten eingeben, berichtigen, oder Prozesse überwachen. Hier setzen wir derzeit auf Eclipse RAP und sind hier auch dabei den Tech Stack zu ändern. In Zukunft wollen wir auf React setzen, was natürlich auch dann andere Erfordernisse im Back End hat, um entsprechend auch das Front End anzusteuern.

Testautomatisierung ist auch ein großes Thema, wir wollen gemeinsam mit den Product Ownern schon in der Designphase festlegen, was die Akzeptanzkriterien sind. Wir verwenden dazu Cucumber, um die Funktionalitäten und Szenarien zu formulieren, welche dann die Basis dazu sind, bei der Implementierung gleich schon Testautomatisierung zu machen. Wir sehen das jetzt gar nicht als eine extra Aufgabe, sondern das soll integrierter Bestandteil werden. Da sind wir dabei, das flächendeckend einzuführen – besonders bei den Migrationen und den neuen Implementierungen. Beim legacy Code ist das ganz schwer möglich.

Was aktuell auch sehr gefragt ist – man kennt es aus alle Applikationen –, ist das Thema BI, Machine Learning, AI. Hier wollen wir auch versuchen, einen Mehrwert für unsere Module und Applikationen zu liefern, dass Benutzer selbst Auswertungen tätigen können. Wir setzen da auf ClickHouse, Apache Superset, Apache Nifi für ETL, Persistenz und Visualisierung. Traditionell waren wir Oracle zentriert, wir haben Datenbanken und die Business Logik in Oracle gehabt, das UI war Oracle Forms und Oracle Reports. Wir haben das UI sukzessive in eine Java Technologie transferiert und jetzt sind wir dabei, die Legacy abzulösen und mit state-of-the-art Methoden und Technologien neu zu implementieren.

 

 

Erfahre mehr zum DevTeam von MIC

Wolfgang Gassner

Lead Software Developer

Interview im June 2021