Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Agile Code Reviews

Agile Code Reviews

Vom 4-Augen-Prinzip zum Qualitätskatalysator

Christian Fischer

February 16, 2017
Tweet

More Decks by Christian Fischer

Other Decks in Programming

Transcript

  1. Hutee bcak ich, Megorn baru ich, Ürebgmreon hol ich der

    Knögiin ihr Knid; ach, wie gut, dsas naienmd wieß, WER BIN ICH?
  2. PAREIDOLIE Simpsons (altgriechisch παρα para ‚daneben‘, ‚vorbei‘ und εἴδωλον eídolon

    ‚Form‘, ‚Erscheinung‘, ‚(Trug-)Bild‘, ‚Schattenbild‘, theologisch auch ‚Götzenbild‘) bezeichnet das Phänomen, in Dingen und Mustern vermeintliche Gesichter und vertraute Wesen oder Gegenstände zu erkennen. -- Wikipedia
  3. EFFEKTIVITÄT Quelle: Best Kept Secrets of Peer Code Review 463

    0 321 194 463 180 113 32 0 50 100 150 200 250 300 350 400 450 500 Bugs nach der Entwicklung Bugs nach Code Review Bugs nach QA/Test Bugs nach Kundenabnahme Vor Code Review Nach Code Review
  4. FEHLERBEBUNGSKOSTEN 1 5 10 50,5 0 10 20 30 40

    50 60 Anforderung Design Code Test Relative Behebungskosten Quelle: [STECKLEIN 2004]
  5. TECHNISCHE GRENZFÄLLE public class Counter { protected long count =

    0; public void add(long value){ this.count = this.count + value; } }
  6. WARTBARKEIT /* * If the new process paused because it

    was * swapped out, set the stack level to the last call * to savu(u_ssav). This means that the return * which is executed immediately after the call to aretu * actually returns from the last routine which did * the savu. * * You are not expected to understand this. */ if(rp->p_flag&SSWAP) { rp->p_flag =& ~SSWAP; aretu(u.u_ssav); } Quelle: Unix 6th Edition
  7. TIMING Pull Request + nur validierter Code wird veröffentlicht -

    eingeschränkte Sichtbarkeit Pre-Commit + nur validierter Code wird veröffentlicht - schlechte Sichtbarkeit - schlechte Verteilbarkeit Post-Commit + hohe Sichtbarkeit - nicht validierter Code kann veröffentlicht werden
  8. Überprüfung durch Reviewer Lessons learned Korrekturen durch den Autor Gruppen

    Review Vorstellung & Planung Material sichten & Einladung FORMAL Planung Einführung Inspektion Über- arbeitung Verifikation Abschluss
  9. Korrektur durch Autor Walk Through Check In Entwicklung beendet ÜBER

    DIE SCHULTER GUCKEN Planung Einführung Inspektion Über- arbeitung Verifikation Abschluss
  10. Freigabe Korrekturen durch den Autor Kommentare Review Request Merge WERKZEUG

    GESTÜTZT Planung Einführung Inspektion Über- arbeitung Verifikation Abschluss
  11. PROZESSVERGLEICH Lean Agil Durchlaufzeit Ausführungszeit Inspektion & Adaption Transparenz Formal

    Über die Schulter gucken Email Benachrichtigung Werkzeug gestützt
  12. CHECKLISTE WERKZEUGAUSWAHL ü Scopedefinition (Ranges & Files) ü Anzeige von

    Metainformationen ü Wer mit welchen Commitkommentar ü Kommentare ü Metriken sammeln und auswerten ü Review Enforcement ü Unterstützung von Pre- und Post-Commits
  13. § Kontextvermittlung erleichtert Einstieg § Strukturierung findet Fehler Review Präambel

    ØZiel ØAnsatz ØRessourcen Bild: Delapouite under CC BY 3.0
  14. § Kosten/Nutzen Betrachtung § Fehlererkennungsrate nimmt ab § Social Loafing

    1-2 Entwickler Øgemeinsame Code Ownership Ødirekte Kommunikation ØVerteilung? Bild: Lorc under CC BY 3.0
  15. § Nur begrenze Finderquote § Inspektionsrate § Konzentration 60-90 Minuten

    ØTimeboxed ØFokussiert Øeingeplant Bild: Skoll under CC BY 3.0
  16. § Dauer § Inspektionsrate § Konzentration ca. 200 LOC Økleine

    Stories ØAlternative „Über die Schulter schauen“ Bild: Lorc under CC BY 3.0
  17. FAZIT ØCode Reviews reduzieren Fehlerbehebungskosten, verbessern die innere Softwarequalität und

    fördern Know Transfer. ØDie agilen Prinzipien von Transparenz, Überprüfung und Anpassung gelten auch für den Code Review. ØBest Practices & Smells helfen bei der kontinuierlichen Verbesserung.
  18. DANKSAGUNG • Lorc : http://lorcblog.blogspot.com/ • Skoll: http://game-icons.net/ • Delapouite:

    http://delapouite.com/ • [STECKLEIN 2004]: https://ntrs.nasa.gov/search.jsp?R=20100036670 • Best Kept Secrets of Peer Code Review: http://bit.ly/2m6NQF4