Elena Hollen hat ihre Bachelorarbeit über Code Reviews und Extreme Programming geschrieben und erzählt mir alles darüber in der einhundertdreiundzwanzigsten Episode des Anwendungsentwickler-Podcasts.
Inhalt
Allgemeines zur Person
Wie ist dein Name und wo arbeitest du?
Elena Hollen, Technische Redakteurin bei der ALTE OLDENBURGER Krankenversicherung AG
An welchen Projekten arbeitest du zur Zeit in deinem Tagesjob?
Technische Redaktion, Toolauswahl für Code Reviews, viel schreiben, Compliance-Anforderungen, DSGVO, Dokumentation für den Fachbereich
Wie bist du zur Informatik bzw. Softwareentwicklung gekommen?
Nach der Realschule bin ich auf ein Fachgymnasium Wirtschaft gewechselt und habe dort im Abitur bereits etwas über Informatik gelernt, z.B. PHP, HTML, CSS, SQL, Excel. Der Bereich BWL hat mir aber auch viel Spaß gemacht. Ich bin kein "klassischer" Nerd! :-) Aber ich mag es sehr, Probleme zu lösen. Meine persönliche Entscheidung war dann aber nach der Ausbildung, dass ich nicht 24/7 programmieren möchte. Daher habe ich die Stelle als technische Redakteurin angenommen.
Welche Ausbildung bzw. welches Studium hast du im Bereich der Informatik absolviert?
Ausbildung zur Fachinformatikerin Anwendungsentwicklung, dann duales Studium der Wirtschaftsinformatik in Lingen, aktuell Master in Wirtschaftsinformatik an der Ostfalia.
Was ist deine Lieblingsprogrammiersprache und warum?
Java, da in Ausbildung und Studium gelernt und auch aktuell im Einsatz.
Code Reviews und Extreme Programming
Worum geht es in deiner Bacherlorarbeit (z.B. Thema, Zielsetzung)?
Code Reviews zur Steigerung der Codequalität. Ich habe eine Studie zu Code Reviews bei der ALTE OLDENBURGER durchgeführt. Ziel war die Verbesserung der Kommunikation und Feedback.
Was ist Extreme Programming und wer braucht das?
Extreme Programming wurde von Kent Beck entwickelt. Es legt den Fokus auf den Menschen. Die Werte sind u.a. Feedback und Kommunikation, die Prinzipien z.B. Menschlichkeit und Praktiken sind z.B. TDD und Code Reviews.
Was sind Code Reviews?
Eine manuelle Prüfung von Code ohne Automatisierung. Der Code, der von einem Autor erstellt wird, wird von einem Reviewer kontrolliert.
Was sind die Ziele von Code Reviews?
Fehler finden, Selbstkontrolle, Einheitlichkeit des Codes, langfristige Wartbarkeit.
Welche Varianten von Code Reviews gibt es?
Walkthrough, Review mit Checkliste, Inspektion mit detaillierten Phasen.
Was wurde bei der AO gemacht?
Einfache Reviews ohne Checkliste. Es gab einen Leitfaden mit Fragen, z.B. Anzahl Lines of Code gereviewt, Fehler/Anmerkungen gefunden, technischer Mehrwert und was habe ich gelernt? Die Auswertung war auch eine gute Begründung für den Chef. Es gab eine Testphase mit 17 Entwicklern, die 1x pro Woche ein Review durchgeführt haben. Insgesamt wurden 26 Reviews durchgeführt.
Was sind die Vor- und Nachteile von Code Reviews?
Vorteile: Einfacher Start ohne großen Aufwand möglich. Eine Checkliste sollte gemeinsam erarbeitet werden. Best Practices ergeben sich im Prozess.
Nachteile: Gefühl von Kontrolle. Es entstehen Kosten (Arbeitszeit), der Chef sollte also gefragt werden.
Was sind die Ergebnisse deiner praktischen Studie zu Code Reviews in der AO?
30.000 LOC gereviewt, 18 Fehler gefunden, 350 Anmerkungen geschrieben, Wissenssilos aufgebrochen, viel gelernt (jeder Teilnehmer), Anregung über Qualität nachzudenken, Austausch mit anderen Entwicklern, keine Probleme aufgetreten, zwischenmenschlich hat es super geklappt.
Welche praktischen Tipps für die Einführung von Code Reviews hast du?
Zu Beginn muss oft eine ablehnende Haltung der Entwickler überwunden werden. Ein Kümmerer als Ansprechpartner ist nötig. Eine Integration in den Entwicklungsprozess ist nötig. Das Feedback der Teilnehmer muss berücksichtigt werden. Zu Beginn sollte erstmal eine Einführung in den zu reviewenden Code gegeben werden, damit der Reviewer weiß, worum es geht. Perfekter Code ist nicht nötig!