Mario ist für den Aufbau der Abteilung Softwareentwicklung bei Vorwerk verantwortlich. Er erklärt uns anhand eines Moduls für den Thermomix, wie agile Entwicklung bei einem Hardware-Projekt bei Vorwerk funktioniert. Außerdem gewährt er uns einen Einblick in die Testing-Phase bei Vorwerk, bei der auch mal der komplette europäische Routermarkt abgebildet werden muss, um die WLAN-Funktionalität des Gerätes zu gewährleisten.
Vita
Nach seinem Studium der angewandten Informatik in Dortmund steigt Mario Wallmeyer direkt in die Vorentwicklung bei Vorwerk in Wuppertal ein. Nach zwei Jahren bei Neato in Kalifornien, die den Kobold VR200 Saugroboter zur Serienreife entwickeln, übernimmt er den Aufbau der Softwareabteilung in Wuppertal.
Tools
- Polarion
- GitLab, Jenkins, Docker
- Slack
- IPC Framework
Als wir in Wuppertal bei Vorwerk ankommen und uns am Empfang anmelden, merken wir: Wir sind an den falschen Standort gefahren. Als einer der größten Arbeitgeber in Wuppertal hat Vorwerk mehrere Standorte in der Stadt. Wir lassen uns ein Taxi rufen und fahren an der Wupper entlang an den Entwicklungsstandort in der Beyenburger Straße, wo uns Mario Wallmeyer bereits erwartet. Vorbei an den Fertigungshallen laufen wir nochmals zehn Minuten, bis wir endlich die Software-Entwicklungsabteilung des umsatzstärksten Produkts des Familienunternehmens Vorwerk betreten. Mario stellt uns das Team vor und zeigt uns die Ahnengalerie des seit 1971 immer weiter entwickelten Thermomix. Im Interview erzählt mir Mario, wie er nach dem Studium zu Vorwerk gekommen und warum er seitdem dort geblieben ist.
Hallo Mario, wie lange bist du schon bei Vorwerk?
Zwölf Jahre mittlerweile. Nach dem Studium der angewandten Informatik in Dortmund bin ich direkt in die Vorentwicklung eingestiegen. Das ist die Abteilung am Standort Wuppertal-Rauental, in der Grundlagenforschung betrieben wird und neue Produkte entwickelt werden.
An welchen Projekten warst du in der Vorentwicklung beteiligt?
Ich war zum Beispiel an der Entwicklung des Kobold VR200 Saugroboters beteiligt. Das war technologisch sehr interessant. Ich beschäftigte mich zum Beispiel mit der Echtzeitfähigkeit der Software und der Navigation, die eine Karte von der Wohnung mithilfe eines Laserscanners erstellt. Die Softwareentwicklung lief damals mit einem Partner in Kalifornien, Neato Robotics. Ich war anderthalb Jahre vor Ort und habe die Software und das Gerät bis zur Serienreife mitentwickelt. Es war spannend in ein Startup im Silicon Valley reinschnuppern zu können.
Product Jobs
Welche Rolle hast du heute im Unternehmen?
Meine Rolle hat sich vom klassischen Entwickler zum Abteilungsleiter gewandelt. Als ich aus den USA zurückkam, sind wir in die Thermomix-Entwicklung eingestiegen. Da der Softwareanteil in unseren Produkten immer größer wird, wurde ich mit dem Aufbau einer Softwareabteilung beauftragt. So ein Staubsauger mag von außen nicht so spannend sein. Wenn man aber reinguckt, dann wird es interessant. Selbst unsere Teppichbürste kommuniziert mit dem Staubsauger, in dem die Schiebekräfte gemessen und die Daten an eine Recheneinheit weitergegeben werden.
Wie sieht der Aufbau der Softwareentwicklungsabteilung konkret aus?
Momentan befasse ich mich im Wesentlichen mit dem Setzen neuer Standards, die benötigten Teams zu formen und die richtigen Zulieferer zu finden. Wir machen noch nicht alles inhouse, sondern geben einzelne Softwaremodule auch mal raus. Um die Teams intern aufzubauen, führe ich jetzt Job-Interviews. Das sind Sachen, die ich als Programmierer vorher nicht gemacht habe. Mein Fokus verlagert sich mehr in Richtung Abstimmung, Projektbudget im Auge behalten, das Aufsetzen neuer Projekte und Entwicklungsprozesse. Das finde ich gerade sehr spannend. Aktuell sind wir acht Leute in der Abteilung, bis zum Ende des Jahres sollen es 17 werden.
Worum geht es genau bei der Entwicklung für den Thermomix?
Als wir mit dem Thermomix TM5 gestartet sind, war das Gerät noch nicht WLAN-fähig. Das haben wir Ende letzten Jahres mit dem Cook-Key nachgeholt. Das ist ein WLAN-Modul, das man magnetisch an die seitliche Schnittstelle am Thermomix anlegen kann, und das sich mit unserer Rezeptplattform Cookidoo synchronisiert.
Das Projekt wurde vor drei Jahren vom Produktmanagement angestoßen, woraufhin sich Marketing, Produktmanagement und die Softwareentwicklung zusammengesetzt haben, um einen groben Umriss zu entwerfen, wohin die Reise gehen soll. Dann ging es auch schon direkt los mit der Definition von Use-Cases und User-Stories. Relativ schnell hatten wir dann auch schon einen Proof of Concept.
Ab wann kommt bei euch die Hardware ins Spiel?
Das Thema Hardware ist von Anfang an mit dabei. In Wuppertal-Rauental sitzt auch unsere Elektronik-Abteilung, die alle Elektroniken für unsere Geräte entwickelt. Gemeinsam haben wir anhand unserer Anforderungen besprochen, wie eine Hardware/Software-Partitionierung aussehen kann. Brauchen wir extra Schaltkreise für eine Funktion, oder können wir die doch mit Software realisieren? Das ist sehr viel Abstimmungsarbeit. Wir versuchen möglichst früh erste Board-Bringups auf Prototypen Hardware vorzunehmen und justieren dann nach. Mit der Elektronik sind wir in einem sehr engen Austausch.
Wie ist euer Softwareentwicklungsprozess organisiert?
Wir machen keinen reinrassigen Scrum, aber wir haben einen agilen Prozess. In unseren zweiwöchigen Sprints nehmen wir die Elektronikteams mit in die Themen. Gerade weil wir sehr eng an der Hardware hängen, haben wir drei Sprints zu einem Development-Cycle zusammengefasst. Während wir in der Software recht schnell Änderungen mit reinnehmen können, ist dies in der Elektronik immer etwas mehr Aufwand. Bei Änderungen muss die Hardware dann wieder neue Prototypen bauen.
Zudem fahren wir eine Co-Location-Strategie, denn wir wollen nicht einfach die Spezifikationen über den Zaun werfen. Alle zwei Wochen treffen wir uns mit allen Zulieferern, denn uns ist es wichtig, wirklich ein Team zu bilden. Darum treffen wir uns hier in Wuppertal, machen ein Sprint-Review, ein Sprint-Planning und weitere Abstimmungen.
Auf welche Probleme seid ihr bei der Entwicklung des Cook-Key gestoßen?
Es gab eigentlich keine größeren Probleme während der Entwicklung. Aber wir haben etwas an der Priorisierung innerhalb unseres Backlogs geändert. Wir holen uns Feedback über die Community ein, und da hat sich gezeigt, dass das Notes-Feature sehr wichtig ist. Die Leute wollten bei den Rezepten persönliche Anmerkungen machen. Das haben wir dann höher priorisiert und dementsprechend schneller umgesetzt.
Welche Tests nutzt ihr bei Entwicklung eines neuen Geräts?
Wir haben bei Vorwerk einen Qualitätsanspruch, den wir auch für den Aufbau der Softwareabteilung übernommen haben. Das bedeutet, wenn der Cook-Key in den Markt geht, soll er marktreif sein. Natürlich kann man über Softwareupdates etwas nachpflegen oder Bugs fixen. Aber wir wollen, wenn der Kunde das Gerät bekommt, dass er sofort damit arbeiten kann. Das heißt, wir haben eine relativ lange Testphase.
Gerade wenn man mit WLAN-Technologie zu tun hat, und wir das Gerät in verschiedene Länder verkaufen, ist das Thema natürlich sehr interessant. Wir haben in vielen Ländern getestet und hatten letztendlich den europäischen Router-Markt in unserer Testabteilung abgedeckt und viele Kompatibilitätstests gemacht. Wir wollten unbedingt verhindern, dass man mit dem Cook-Key nicht in ein WLAN-Netz reinkommt. Beim Thema Sicherheit fahren wir mit Dienstleistern Penetrations-Tests.
Auf dem Build-Server machen wir nach einem Code-Review viele automatisierte Tests, Unit-Tests und eine statische Code-Analyse. Zusätzlich bauen wir derzeit einen Hardware-in-the-loop-Tester auf, welcher die Thermomix-Funktion nachbildet. Das Ziel ist es bei jedem “nightly build” die Software auf der realen Hardware automatisiert zu testen.
Was das Gesamtgerät angeht, haben wir ein Test-Team, das die neuen Features durchtestet. Das Ganze wird über Polarion getrackt.
Wie lange dauert es die Hardware zu entwickeln?
Klassischerweise haben wir circa anderthalb Jahre vor der Produktion das Pflichtenheft erstellt und beginnen dann mit der Entwicklung erster Laborserien. Bei der Cook-Key-Elektronik konnten wir den Zeitraum verkürzen, da sie nicht ganz so komplex ist wie das Gesamtgerät. Das heißt, wir haben da durchaus andere technische Entwicklungszyklen.
Welche Tools verwendet ihr in der Entwicklung?
In der Softwareentwicklung nutzen wir Polarion. Das ist ein Application-Life-Cycle-Management-Tool, welches uns erlaubt von der User Story bis in den Quelltext zu tracen. Das nutzt auch das Marketing, um Usecases einzupflegen. Die Kommunikation mit dem Marketing läuft aber auch über Slack. Unser Build-Server läuft mit Jenkins, GitLab nutzen wir für die Integration. Mit Docker-Container stellen wir unseren Entwicklern eine einheitliche Build-Konfiguration zur Verfügung.
Unsere Module für den Cook-Key sind in C++ geschrieben. Auf dem Thermomix läuft ein embedded Linux als Betriebssystem, das uns relativ viel bietet. Wir können sehr viel von der Hardware darüber ansprechen und modifizieren teilweise die vorhandenen Treiber. Da kann man mit der Anwendungsentwicklung sehr gut aufsetzen. Zudem nutzen wir noch ein IPC Framework, was eine Art Messaging System für die verschiedenen Prozesse ist.
Welche Learnings hast du während des Aufbaus des Teams bisher gemacht?
Wichtig ist, dass Entwickler nicht nur technisch alles mitbringen, sondern dass sie zusammenpassen und miteinander kommunizieren können. Darum haben wir auch die Co-Location-Strategie. Natürlich müssen auch die Basics stimmen, also ein Uni-Studium und die technischen Skills.
Wie sieht dein Tagesablauf bei Vorwerk aus?
Das ist wirklich ganz unterschiedlich. Wir haben keine festen Arbeitszeiten und sind relativ frei zu kommen und zu gehen, wann man will. Wenn wir zum Beispiel in der Co-Location-Woche sind, haben wir viele technische Meetings. Dann fängt der Tag in der Regel damit an, dass man sich anschaut, was die Teams in den letzten Wochen geleistet haben und spricht sich mit denen ab.
Sind wir hier im Office, dann gehen wir zum Beispiel oft gemeinsam in die Kantine.
Was sind in deinem Bereich wichtige Themen und Trends?
Ganz klar die Vernetzung. Internet of Things ist ein Trend, bei dem wir schon relativ früh dabei waren und ein Vorreiter im Markt sind. Man sieht momentan in der Branche, dass es noch nicht den einen Standard gibt, sondern viele mitspielen wollen, wie zum Beispiel Apple und Google.
Was wird in deinem Job immer wieder falsch gemacht?
Was ich nicht empfehlen würde, ist zu viel Zeit auf die reine Planung zu verwenden. Die agile Arbeitsweise bringt es mit sich, dass man sich dem Ziel auch dann nähert, wenn man nicht am Anfang eine riesen Planungsphase macht. Die Welt dreht sich einfach zu schnell und man muss schnell reagieren. Ich empfehle daher die Planungsphase etwas kürzer zu halten und lieber konkret zu entwickeln und im Laufe der Entwicklung nachzujustieren.
Was ich nicht empfehlen würde, ist zu viel Zeit auf die reine Planung zu verwenden. Die agile Arbeitsweise bringt es mit sich, dass man sich dem Ziel auch dann nähert, wenn man nicht am Anfang eine riesen Planungsphase macht.
Was würdest du Leuten empfehlen, die in deinem Bereich arbeiten möchten?
In der Regel ist ein Studium eine Zugangsvoraussetzung. Ich habe es zudem immer so gehalten, dass ich mich nach meinen persönlichen Interessen orientiert habe, also auf das, worauf ich Lust habe. Ich habe mir als Abiturient nie gedacht, dass ich mal Abteilungsleiter bei Vorwerk werden möchte, natürlich nicht. Aber ich habe an die technischen Themen gedacht, an Elektronik und an Technologien, die mich interessiert haben. Und danach habe ich dann den Weg ausgesucht.
Gibt es etwas, das dich inspiriert?
Mich inspiriert im Wesentlichen der Austausch mit externen Partnern. Diese haben meist schon sehr viele andere Projekte gesehen, und da ist der Austausch spannend. Das sind auch nicht nur Leute aus Deutschland, sondern wir haben ja ein internationales Team.
Welche Bücher und Blogs kannst du empfehlen?
Da ich viel im Auto sitze, wenn ich von Düsseldorf nach Wuppertal fahre, kann ich einen Podcast empfehlen, den Embedded E-Cast.
Gunter Dueck finde ich ganz gut in “Schwarmdumm: So blöd sind wir nur gemeinsam”. Das ist das letzte Buch, das ich von ihm gelesen habe. Außerdem habe ich Prince2 Agile gelesen. Darin findet man einen guten Standard agile Arbeitsmethoden im Projektmanagement zu integrieren. Da Vorwerk Projekte nach Prince2 aufsetzt, konnte ich viele konkrete Anknüpfungspunkte mitnehmen.