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)
Melde dich an, um einen Kommentar zu schreiben.