Elena Hollen über Code Reviews und Extreme Programming – Anwendungsentwickler-Podcast #123

Elena Hollen über Code Reviews und Extreme Programming – Anwendungsentwickler-Podcast #123

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 ...
53 Minuten

Beschreibung

vor 7 Jahren

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! Fachliche Fehler können
gefunden werden.



Macht Pair Programming Code Reviews überflüssig?

Nein, sie bilden eine Symbiose, auch TDD passt gut dazu.



Können auch Azubis schon Code Reviews durchführen?

Ja! Ein Austausch mit langjährigen Entwicklern war
möglich. Andere Meinungen werden diskutiert. Es wurden viele
Fragen gestellt. Und sogar Anmerkungen von Azubis wurden
umgesetzt.



Welche Tools benötigt man für Code Reviews?

Erstmal sind keine Tools nötig, Kommentare im Code
reichen. Tool ist evtl. Overkill im Prozess. Es gibt aber
viele Tools am Markt. Zunächst sind die eigenen Anforderungen
zu klären und dann ein Tool zu suchen (z.B. IDE-Plugin, Git,
keine DB, Gruppenverwaltung). Fehler vs. Anmerkungen sollten
unterschieden werden können.



Wie geht es mit den Code Reviews bei der AO weiter?

Jeder Entwickler entscheidet selbst, ob und wie oft Code
Reviews durchgeführt werden. Tool suchen. Es gibt keine
Kontrolle, die war nur für die Bachelorarbeit nötig.
Langfristige Motivation ist nötig, ein Kümmerer ist sinnvoll.
Code Reviews werden bereits in die Ausbildung integriert.



Kann man die Einführung von Code Reviews auch monetär
begründen?

Na klar! Wann sind Fehler am teuersten? Wenn der Code
schon auf der Produktion läuft! Wir haben in 3 Wochen 18
Fehler gefunden, und zwar vor derm Deployment! Das Management
muss von Anfang an einbezogen werden.



Aus- und Weiterbildung

Was ist das letzte Fachbuch mit Bezug zur Programmierung, das
du selbst gelesen hast?

Soft Skills von John Sonmez.



Was ist dein absolutes Lieblingsbuch mit Bezug zur
IT/Programmierung und warum?

Extreme Programming Explained von Kent Beck (bitte auf
Englisch!).



Welche Quellen kannst du für die Aus- und Weiterbildung im
Bereich Programmierung empfehlen und warum?

Wissenschaftliches Arbeiten macht Spaß und man lernt sehr
viel dabei. Quellen sind u.a. Springerlink und Google
Scholar.

Auf GitHub findet man viel Code, an dem man selbst lernen
kann.



Abschluss

Wo können die Hörer mehr über dich erfahren bzw. dich
kontaktieren?

Auf Xing, LinkedIn oder Twitter.



Literaturempfehlungen

*


*
Links

Permalink zu dieser Podcast-Episode

RSS-Feed des Podcasts

Snipmatch

AgileReview

Kommentare (0)

Lade Inhalte...

Abonnenten

15
15