Codereview oder nicht? Wie Unternehmen von Freiberuflern profitieren können

Als Freiberufler in Kundenprojekten befindet man sich ja in den unterschiedlichsten Unternehmen. Von Leading Edge Technologie und den (gerade) angesagtesten Vorgehensweisen bis hin zu Software und Abteilungen die über viele Jahre “gewachsen” sind. Letzteren fehlen dann häufig auch Impulse von Außen. Gepaart mit hohem Arbeitsdruck sinkt oft die Qualität bzw. man hastet von Release zu Release und von Bugfix zu Bugfix ohne die eigene Vorgehensweise von Zeit zu Zeit zu analysieren.

Für diese Unternehmen sind dann “eigentlich” Freiberufler eine Riesenchance. Sie bringen Impulse von Außen, kennen meist aktuelle Technologien und haben diese auch schon im Einsatz gehabt. So ähnlich ging es mir in einem meiner letzten Projekte, schon nach kurzer Zeit war klar, dass die Codequalität vorsichtig ausgedrückt stark zu wünschen übrig lässt. An diesem Punkt werden dann Kommunikationsskills wichtig 🙂 Mit wem rede ich wann am besten darüber? Ansprechen sollte ich es, denn sonst ist ja auch meine Expertise in Frage gestellt bzw. man könnte davon ausgehen, dass ich mit dem Vorgehen und dem Ergebnis einverstanden bin.

Da ich sehr pragmatisch und überhaupt nicht dogmatisch bin, konnte ich in den folgenden Wochen das Thema Codequalität und Möglichkeiten zur Verbesserung sowohl mit Mitarbeitern als auch Abteilungsleitern besprechen. Prinzipiell war man auch sehr aufgeschlossen, und hat sich alle Vorschläge angehört und diskutiert.

Ein Quickwin wäre aus meiner Sicht gewesen, im bereits vorhandenen Gitlab die Merge Requests zu verwenden und ein Codereview durch die Key Developer zu verlangen. Erstmal “nur” mit der Anweisung, dass es ein Codereview für alle Änderungen, die mehr als 1-2 Zeilen umfassen, geben soll. Der Zeitaufwand wäre minimal, aber der Nutzen sehr groß, da damit zumindest die ganz schlimmen Katastrophen (cut&paste Programmierung, Module die mehrfach in nur geringer aber nicht unwichtiger Abwandlung existieren,…) einfach eliminiert werden könnten.

Da kommt dann natürlich sofort das Argument auf: Dafür haben wir keine Zeit, wir sind jetzt schon mehr als ausgelastet. Deshalb haben wir ja auch dich engagiert.

Leider half dann auch meine Erläuterung, dass es schon kurzfristig Zeit sparen wird, wenn nur noch sinnvoller Code committed wird,… nichts.

Interessant war dann, dass nachdem ich ein 2. Mal vom gleichen Kunden engagiert wurde, auf einmal ein sehr restriktives Regelwerk für Merge Requests und Codereviews im Einsatz war. Inkl. zus. Tools wie crucible usw. Manche Dinge lernt man nur durch den eigenen Schmerz 🙂