Auch wenn es paradox klingen mag: Um in Softwareprojekten exzellente Arbeit abzuliefern, ist ein gesunder Umgang mit Fehlern innerhalb des Entwicklerteams essentiell. Eine gute Fehlerkultur sorgt nicht nur für bessere Ergebnisse, sondern formt langfristig tolle Teams, die sich im Idealfall blind verstehen und vor allem viel Spaß bei der gemeinsamen Arbeit haben.

 

 

Christopher Klewes (Foto: privat)

 

Wie man eine gelungene Fehlerkultur im Team etabliert, darüber sprechen wir mit Christopher Klewes, Bereichsleiter bei QuinScape. Er erzählt, wie Fehlerkultur in seinem 50-köpfigen Team gelebt wird, wie wichtig es für Softwareentwickler ist, ein eigenes Netzwerk aufzubauen, und welcher sein lehrreichster Fehler in seiner bisherigen Laufbahn war.

 

Who is behind the code? In unserer Reihe „Who’s behind the code“ werfen wir einen Blick hinter die Kulissen von QuinScape! Wer sind die kreativen Köpfe, die an den besten Lösungen für unsere Kunden tüfteln? Welche Teams arbeiten täglich daran, dass niemand jemals wieder schlechte Entscheidungen treffen muss? Und wie sieht der ganz normale Arbeitsalltag unserer Mitarbeiterinnen und Mitarbeiter aus? Hier erzählen wir, wie Code made by QuinScape entsteht.

 

 

Fehlerkultur: Sich Dinge trauen, voneinander lernen und gegenseitig unterstützen

 

Hallo Christopher, erzähl doch erstmal etwas über Deinen Background und was Du bei QuinScape machst.

Ich sag immer, dass ich noch Entwickler im Herzen bin, aber nicht mehr so stark an der Tastatur. Ich habe schon sehr früh angefangen zu programmieren. Da war ich 12 oder 13 Jahre alt. Bei QuinScape bin ich dann vor elf Jahren als Softwareentwickler gestartet, was ich nach wie vor als meine Berufung ansehe.

Mit der Zeit habe ich aber auch gemerkt, wieviel Spaß es mir macht, Strukturen in Teams zu geben, Kultur aufzubauen, Menschen wachsen zu sehen, junge Entwickler anzuleiten und dafür zu sorgen, dass die sich Dinge trauen, voneinander lernen, sich miteinander vernetzen und sich gegenseitig unterstützen.

Über die Jahre hat sich das weiterentwickelt. Von anfangs zwei Studenten sind heute knapp 50 Personen bei mir im Team.

Wir sprechen ja heute über das Thema Fehlerkultur. Was bedeutet das für Dich?

Mich hat immer ein technisch sehr hoher Anspruch angetrieben, dass wir also unseren Kunden zuverlässig super Ergebnisse liefern. Da kommt dann ganz schnell das Thema Fehlerkultur ins Spiel.

In der Psychologie gibt es den Begriff der psychologischen Sicherheit. Um zuzugeben, dass man etwas nicht weiß, dass man beispielsweise sagen kann: „Ich habe das noch nie programmiert oder ich weiß nicht, wie man einen Verschlüsselungsalgoritmus implementiert“, dazu braucht es einen Raum und ein Team, das sagt: „Das ist überhaupt gar kein Problem! Komm, wir helfen dir, wir machen das zusammen“.

„Dazu gehört viel Vertrauen, dazu gehört eine Umgebung, in der man kann mit den Kolleg*innen lachen und Spaß haben kann, dazu gehört, Verletzlichkeit zeigen zu können.“

Diese psychologische Sicherheit, die in einem Team entstehen muss, ist nicht so leicht zu kreieren. Dazu gehört viel Vertrauen, dazu gehört eine Umgebung, in der man kann mit den Kolleg*innen lachen und Spaß haben kann, dazu gehört, Vulnerabilität, also Verletzlichkeit, zeigen zu können. Auch in den Führungsrollen! Das heißt, dass auch der Projektleiter oder ich als Teamleiter zeigen, dass wir nicht alles wissen und Fehler machen.

Das alles gehört dazu, um eine Kultur zu schaffen, die idealerweise dazu führt, dass Menschen offen sagen, ich weiß es nicht, ich kann es nicht, ich brauche Hilfe.

Das Spannende daran ist, dass sich daraus auf lange Sicht ganz tolle Teams entwickeln, die sich gegenseitig vertrauen und unterstützen, die füreinander da sind und die am Ende einen viel sichereren, stabileren Code schreiben als in einer Atmosphäre der Angst oder Sorge.

Wie sieht denn Fehlerkultur in der Praxis aus? Wie wird das konkret bei Euch im Team gelebt, vor allem, wenn neue Leute dazukommen?

Wenn neue Leute ins Team kommen, werden sie in den ersten Wochen nicht nur vom Vorgesetzten begleitet, sondern bekommen auch einen Mentor zur Seite gestellt. Im besten Fall treffen sich Mentor und Mentee jeden Tag für 20 Minuten und diskutieren technische Dinge und fachliche Fragen.

Gerade in der Anfangsphase ist es wichtig, dem neuen Teammitglied ein gutes Gefühl zu geben und auch dafür zu sorgen, dass er oder sie möglichst viele Erfolgserlebnisse hat.

Gleichzeitig soll die neue Person aber auch verstehen: Wenn ein Fehler passiert oder ich eine Frage habe, gibt es meinen Mentor, mein Team oder meinen Vorgesetzten, an die ich mich wenden kann. Nach und nach wird der Schwierigkeitsgrad dann gesteigert.

„Gerade in der Anfangsphase ist es wichtig, dem neuen Teammitglied ein gutes Gefühl zu geben und auch dafür zu sorgen, dass er oder sie möglichst viele Erfolgserlebnisse hat.“

Auch bei der sozialen Integration ins Team – ob im Büro oder remote – unterstützt der Mentor seinen Mentee, damit dieser möglichst schnell Kontakte knüpfen und sein Netzwerk aufbauen kann. Jedem, der neu ins Team kommt, sage ich, dass er die ersten zwei bis drei Wochen dazu nutzen soll, das Team kennenzulernen. Ein Entwickler ist immer nur so gut wie sein Netzwerk, auf das er zugreifen und wo er sich Hilfe holen kann.

Wie entsteht denn solch ein Netzwerk oder auch das Wissen um die Stärken der anderen?

Was sehr gut bei uns funktioniert, ist, dass wir den Großteil unserer Fortbildungen selber machen. Das heißt, wir bringen uns vieles gegenseitig bei.

Zum Beispiel haben wir jeden Mittwoch ein Codecamp, wo jemand aus dem Team in einem Impulsvortrag etwas privat Gelerntes oder eine neue Methode oder einen Ansatz, den man entdeckt hat, vorstellt. Es geht dabei nicht darum, das Thema komplett zu durchdringen, sondern einfach darum, mal was Neues gehört zu haben. Als Nebeneffekt speichert man dabei im Idealfall denjenigen ab, der sich mit dem Thema auskennt.

Dann machen wir noch regelmäßig Coding Dojos, wo wir uns nach Feierabend in entspannter Atmosphäre treffen, und wie beim Pair Programming jeweils zwei Entwickler gemeinsam eine spannende, häufig algorithmische Aufgabe lösen, die wir nicht so oft im Alltag haben.

Von solchen Aktionen machen wir relativ viel, damit die Leute sich gegenseitig kennenlernen. Wir haben auch eine Remote-Kaffeerunde, wo man sich in seiner Arbeitszeit einfach dazuschalten kann. Das ist hier nicht verpönt, sondern erwünscht. Natürlich neben Spaß und Austausch auch mit dem Hintergedanken, dass die Leute sich kennenlernen und vernetzen.

„Fehler dürfen also passieren und sie passieren ja auch. Es ist nur wichtig zu verstehen, warum sie passiert sind und was wir in Zukunft dagegen tun können.“

Worauf ist denn bei einer Fehlerkultur zu achten, damit sie funktioniert?

Zunächst einmal ist ein Misserfolg nicht per se ein Misserfolg, sondern eine Chance, daraus etwas zu lernen.

Fehler dürfen also passieren und sie passieren ja auch. Gerade in der Softwareentwicklung sind Fehler unvermeidbar. Es ist nur wichtig zu verstehen, warum sie passiert sind und was wir in Zukunft dagegen tun können.

Wenn wir also feststellen, dass etwas nicht läuft, dann müssen wir uns sofort hinterfragen: Wie konnte dieser Fehler passieren? Gibt es vielleicht einen besseren Prozess, zum Beispiel Automatisierungen, Code Reviews, das Vier-Augen-Prinzip, oder eine Checkliste?

Das ist immer unser Ansatz: Verstehen, analysieren und einen Prozess etablieren.

„Zunächst einmal ist ein Misserfolg nicht per se ein Misserfolg, sondern eine Chance, daraus etwas zu lernen.“

Was war denn bisher Dein lehrreichster Fehler?

In meiner frühen Zeit als Teamleiter, als ich meine ersten Führungserfahrungen gesammelt habe, hatte ich einen Mitarbeiter, den ich immer wieder versucht habe, in eine bestimmte Richtung zu entwickeln, wo wir ihn im Team gebraucht hätten.

Das Problem war, dass er dort gar nicht funktionierte und seine Stärken ganz woanders lagen. Er war jemand, der extrem gut darin war, Kollegen zu unterstützen oder ihnen etwas beizubringen.

Mein Fehler war, dass ich das erst nicht als Stärke gesehen, sondern kritisiert habe, dass er immer nur andere unterstützt und mit seinen eigenen Sachen nicht fertig wird. Irgendwann haben wir genau das zu seiner Rolle gemacht und ihn immer dort eingesetzt, wo er helfen konnte. Das hat dann extrem gut funktioniert.

Die Erkenntnis für mich war, dass ich die Leute in meinem Team so integriere und positioniere, dass sie möglichst gut ihre Stärken ausspielen können und sie nicht einfach irgendwo einsetze, nur weil ich es gerade so brauche.

 


 

Suchst Du nach einem Arbeitsplatz, der zu Deiner Lebenssituation passt? Dann schau auf unserer Karriereseite vorbei!

 

Das sind wir. QuinScape entstand 2001 aus einer Gruppe begeisterter IT’ler, die eine Chance darin sahen, mit moderner Softwareentwicklung den Weg in die digitale Zukunft zu gestalten. Diese unmittelbare Herkunft aus der Technik und die Begeisterung, etwas bewegen zu können, prägen uns bis heute. QuinScape unterstützt globale Markt- und Markenführer aus den Branchen Automotive und Pharma, aber auch viele Hidden Champions des deutschen Mittelstands darin, nie wieder schlechte Entscheidungen treffen zu müssen – durch herausragende Leistungen in Data Management, Analytics und Software Engineering. Alle Geschäftsführer sind leidenschaftliche Techniker. Entsprechend direkt läuft der Austausch zwischen ihnen und den Teams: Nicht Zahlen spielen die erste Geige, sondern Werte und Ideen. Als stetig wachsendes Unternehmen sind wir bereit, uns mit neuen Ideen auseinanderzusetzen. Um diesen kreativ begegnen zu können, ist eine offene Atmosphäre unumgänglich. Eitelkeiten, das Beharren auf Positionen und starre Hierarchien empfinden wir als vergeudete Arbeits- und Lebenszeit. An ihre Stelle setzen wir lieber etwas ganz Anderes: Wertschätzung sowie eine offene Diskussionskultur quer durch alle Bereiche. Daher sind eine „Open Door Policy“ aller Führungskräfte, innovatives Denken, Fehlerkultur, Experimentierfreudigkeit und Transparenz die Grundpfeiler unserer Haltung.