Testversion

Eine erfolgreiche Peer-Review-Strategie für die Codeprüfung erfordert einen Ausgleich zwischen streng dokumentierten Prozessen und einem friedlichen, kooperativen Umfeld. Stark reglementierte Peer-Reviews können die Produktivität ersticken, doch unstrukturierte Prozesse sind häufig ineffizient. Manager müssen einen Mittelweg finden, in dem das Peer-Review effizient und wirksam sein kann, aber auch offene Kommunikation und das Teilen von Kenntnissen zwischen Teammitgliedern gefördert wird.

Diese 10 Tipps führen Sie zu einem effektiven Peer-Code-Review

1. Überprüfen Sie weniger als 400 Codezeilen auf einmal

Eine SmartBear-Studie in einem Programmierteam von Cisco Systems hat ergeben, dass Entwickler nicht mehr als 200 bis 400 Codezeilen (Lines of Code, LOC) auf einmal überprüfen sollten. Das Gehirn kann nur eine bestimmte Menge an Informationen auf einmal wirksam verarbeiten, bei mehr als 400 LOC nimmt die Fähigkeit, Fehler zu erkennen, ab.

In der Praxis sollte eine Überprüfung von 200–400 LOC in 60 bis 90 Minuten etwa 70–90 % der Fehler auffinden. Wenn also 10 Fehler im Code vorhanden sind, würde eine ordnungsgemäß ausgeführte Überprüfung sieben bis neun davon aufdecken.

Bewährte Verfahren für die Codeprüfung
 

2. Lassen Sie sich Zeit. Die Prüfraten sollten unter 500 LOC pro Stunde liegen.

Die Versuchung ist groß, eine Überprüfung schnell zu erledigen und sich zu denken, dass jemand anders schon die Fehler finden wird, die Sie übersehen. Untersuchungen von SmartBear haben jedoch einen deutlichen Abfall der Fehlerdichte bei Prüfraten von über 500 LOC pro Stunde ergeben. Ein vernünftiger Umfang der Codeprüfung bei geringerer Geschwindigkeit über einen begrenzten Zeitraum hinweg ergibt die wirkungsvollste Codeprüfung.

code-review-best-practices-figure-2.gif

3. Prüfen Sie nicht länger als 60 Minuten auf einmal

Genauso wie Sie Code nicht zu schnell prüfen sollten, sollten Sie auch nicht zu lange auf einmal prüfen. Wenn Menschen sich eine Zeit lang mit einer Aktivität beschäftigen, die hohe Konzentration erfordert, nimmt ihre Leistung nach ungefähr 60 Minuten ab. Studien zeigen, dass Pausen zwischen konzentrierten Anstrengungen die Arbeitsqualität enorm steigern können. Häufigere Prüfungen vorzunehmen, sollte die Notwendigkeit verringern, je eine solch lange Prüfung durchzuführen.

Integrieren Sie Peer-Code-Review in Ihrer Organisation mit Collaborator

Kostenlose Testversion starten

4. Legen Sie Ziele fest und erfassen Sie Kennzahlen

Bevor es einen Prozess übernimmt, sollte Ihr Team entscheiden, wie Sie die Effektivität des Peer-Review messen und ein paar konkrete Ziele festlegen.

Beginnen Sie mithilfe von SMART-Kriterien mit externen Kennzahlen. Zum Beispiel: "Verringerung der Support-Anrufe um 15 %" oder "Halbierung der durch die Entwicklung eingeführten Fehler." Diese Informationen sollten Ihnen ein quantifizierbares Bild davon liefern, wie Ihr Code sich verbessert. "Mehr Bugs beheben" ist kein effektives Ziel.

Es ist ebenfalls hilfreich, interne Prozesskennzahlen zu beobachten, einschließlich:

  • Inspektionsrate: die Geschwindigkeit, mit der eine Prüfung durchgeführt wird
  • Fehlerrate: die Anzahl der pro Stunde der Prüfung gefundenen Fehler
  • Fehlerdichte: die durchschnittliche Anzahl der Fehler pro Codezeile

Realistisch betrachtet können nur automatisierte oder strikt kontrollierte Prozesse wiederholbare Kennzahlen hervorbringen. Ein Kennzahl-getriebenes Codeprüfungs-Tool erfasst Daten automatisch, so dass Ihre Informationen korrekt und nicht durch menschliche Voreingenommenheit verzerrt sind. Um einen besseren Eindruck einer effektiven Codeprüfungs-Berichterstattung zu erhalten, können Sie sich ansehen, wie unser Codeprüfungs-Tool, Collaborator, es macht.

5. Autoren sollten vor der Prüfung ihren Code kommentieren

Autoren sollten ihren Code kommentieren, bevor die Prüfung stattfindet, denn Kommentare führen den Prüfer durch die Änderungen, zeigen, welche Dateien zuerst angesehen werden sollten und geben die Gründe für jede Codeänderung an. Kommentare sollten sich an andere Prüfer richten, um den Prozess zu erleichtern und mehr Kontext bereitzustellen. Als weiteren Vorteil wird der Autor oft zusätzliche Fehler entdecken, bevor das Peer-Review überhaupt beginnt. Mehr vor dem Peer-Review entdeckte Fehler ergeben eine niedrigere Fehlerdichte, da insgesamt weniger Fehler vorhanden sind.

6. Verwenden Sie Checklisten

Es ist sehr wahrscheinlich, dass jede Person in Ihrem Team dieselben 10 Fehler wieder und wieder macht. Insbesondere Auslassungen sind die am schwierigsten zu entdeckenden Fehler, da es schwierig ist, etwas zu prüfen, das gar nicht existiert. Checklisten sind die effektivste Art und Weise, häufige Fehler zu eliminieren und die Schwierigkeiten beim Auffinden von Auslassungen anzugehen. Codeprüfungs-Checklisten stellen auch Teammitgliedern klare Erwartungen für jede Art von Prüfung zur Verfügung und können hilfreich dabei sein, Daten für Berichte und Prozessverbesserungen zu erfassen.


Peer-Review-Checklisten | Mehr erfahren & Beispiele ansehen


 

7. Etablieren Sie einen Prozess für das Beheben entdeckter Fehler

Selbst nach der Optimierung von Codeprüfprozessen über Time-Boxing-Verfahren, der Begrenzung der pro Stunde geprüften LOC und der Benennung von Schlüsselkennzahlen für Ihr Team fehlt immer noch ein wichtiger Bestandteil der Prüfung. Wie werden Fehler behoben? Es scheint offensichtlich, aber viele Teams verfügen nicht über eine systematische Methode für das Beheben der Fehler, an deren Entdeckung sie so hart gearbeitet haben.

Die beste Art und Weise, sicherzustellen, dass Fehler behoben werden, ist der Einsatz eines kollaborativen Codeprüfungs-Tools, das es Prüfern ermöglicht, Fehler zu protokollieren, sie mit dem Autor zu besprechen und Änderungen am Code zu genehmigen. Ohne ein automatisiertes Tool werden bei der Prüfung gefundene Fehler vermutlich nicht im üblichen Fehlerverfolgungssystem des Teams protokolliert, da sie gefunden werden, bevor der Code für die QS freigegeben wird.

8. Fördern Sie eine positive Codeprüfungskultur

Peer-Review kann belastend für zwischenmenschliche Beziehungen im Team sein. Es ist schwierig, wenn jedes Stück Arbeit von Kollegen kritisiert wird und das Management die Fehlerdichte in Ihrem Code auswertet und misst. Daher ist es enorm wichtig für ein erfolgreiches Peer-Code-Review, dass Manager eine Kultur der Zusammenarbeit und des Lernens beim Peer-Review etablieren.

Es ist zwar leicht, Fehler als rein negativ anzusehen, aber jeder Fehler ist tatsächlich eine Gelegenheit für das Team, die Codequalität zu erhöhen. Peer-Review macht es auch möglich, dass Junior-Teammitglieder von Senior-Teammitgliedern lernen und dass selbst die erfahrensten Programmierer schlechte Angewohnheiten ablegen.

Im Peer-Review gefundene Fehler sind keine akzeptable Rubrik für die Beurteilung von Teammitgliedern. Aus Peer-Code-Reviews erstellte Berichte sollten niemals in Leistungsberichten verwendet werden. Wenn persönliche Kennzahlen zur Grundlage von Vergütung oder Beförderungen werden, übernehmen Entwickler eine feindliche Einstellung gegenüber dem Prozess und konzentrieren sich verständlicherweise auf die Verbesserung ihrer persönlichen Kennzahlen, statt insgesamt besseren Code zu schreiben.

9. Heißen Sie die unterbewussten Auswirkungen des Peer-Review willkommen

Das Wissen, dass andere ihre Arbeit untersuchen werden, treibt Menschen verständlicherweise dazu an, ein besseres Produkt zu produzieren. Dieser "Ego-Effekt" bietet Entwicklern einen natürlichen Anreiz dafür, saubereren Code zu schreiben, denn ihre Kollegen werden dies auf jeden Fall mitbekommen. Die SmartBear-Studie von Cisco Systems hat ergeben, dass "Stichprobenprüfungen (Spot Checking)" von 20-33 % des Codes mit minimalem Zeitaufwand zu einer niedrigeren Fehlerdichte geführt haben. Falls die Wahrscheinlichkeit, dass Ihr Code für eine Prüfung ausgewählt wird, eins zu drei beträgt, ist das genug Anreiz dafür, Ihre Arbeit auf jeden Fall sorgfältig zu machen.´
 

10. Führen Sie leichtgewichtige Codeprüfungen durch

Von E-Mail, Blick über die Schulter, Microsoft Word, Werkzeug-gestützt und Hybriden all dieser Typen gibt es zahllose Wege dafür, Code kollaborativ zu überprüfen. Um allerdings die Zeit Ihres Teams vollständig zu optimieren und seine Ergebnisse wirksam zu messen, wird ein leichtgewichtiger, Werkzeug-gestützter Prozess empfohlen.

Die SmartBear-Studie bei Cisco Systems hat ergeben, dass leichtgewichtige Codeprüfungen weniger als 20 % der Zeit formeller Prüfungen erfordern und genauso viele Fehler aufdecken! Formelle bzw. schwergewichtige Inspektionen dauern durchschnittlich neun Stunden pro 200 LOC. Obwohl oft effektiv, erfordert dieser Prozess bis zu sechs Teilnehmer und Stunden von Meetings, während derer detaillierte Codeausdrucke durchgegangen werden.

 

Start Your Collaborator Free Trial

 
 

By submitting this form, you agree to our Terms of Use and Privacy Policy