„Müssen wir jetzt auch noch Code Reviews machen?“ „Müssen nicht, Ihr dürft!“. Team und Qualität profitieren davon, wenn Code Reviews fest in den Entwicklungsprozess integriert sind. Code Reviews bieten einfach zu viele Vorteile, um diese Technik nicht im Alltag zu ignorieren. Meist fehlt die zündende Idee, wie einfach auf die Straße zu bringen sind.
Wir räumen mit gängigen Clichés auf. Code Reviews dürfen Spaß machen und wir werden sehen, wie das geht. Weder Code, Qualität noch das Team müssen auf der Strecke bleiben. Warum also warten?! Los geht es!
1. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 1
QUALITÄT UND TEAM MIT CODE REVIEWS
TOBIAS RANFT
VORTRAG | W-JAX | 05. NOVEMBER | MÜNCHEN
2. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 2
TOBIAS RANFT
Agile Coach
@HerrTo
judithandresen.com
ECHTE ZUSAMMENARBEIT
MÖGLICH MACHEN
3. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 3
STELLT FRAGEN!
4. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 4
PROBIERT ETWAS AUS UND FINDET,
WAS FÜR EUCH FUNKTIONIERT!
5. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 5
WAS IST EIGENTLICH QUALITÄT?
_ Statische und dynamische
Quellcodeanalyse (jdepend,
Testabdeckung)
_ Skalier- und Erweiterbarkeit
_ Reported bugs
_ WTF per minutes
6. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 6
GUTER CODE IST LES-, TEST- UND
ERWEITERBAR …
… UND TUT, WAS ER SOLL.
7. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 7
QUALITÄT ENTSTEHT IN GUTEN TEAMS.
Die besten Architekturen, Anforderungen und Entwürfe
entstehen durch selbstorganisierte Teams.
Prinzipien hinter dem agilen Manifest
http://agilemanifesto.org/iso/de/principles.html
8. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 8
POTENTIALE VON CODE REVIEWS
_ Wissen verteilen
_ Gemeinsame Sprache (im Team) finden
_ Fehler (früh) erkennen
_ Collective Ownership – gemeinsame
Verantwortung
_ Spaß !
9. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 9
WENN IHR KEINEN SPASS
MIT CODE REVIEWS HATTET,
HABT IHR NICHT DAS RICHTIGE ODER
ES NICHT RICHTIG GEMACHT!
10. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 10
WAS IST „CODE REVIEW“?
A Check im Workflow (Pull- oder Merge-
Requests, Commit-Reviews, asynchron)
B Pair-Programming (1 zu 1, synchron)
C Code-Review in der Gruppe (1 Alle,→
synchron)
11. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 11
CODE REVIEW:
ES SCHAUEN MEHR ALS ZWEI AUGEN DRAUF!
12. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 12
MOB PROGRAMMING (ALLE ALLE)→
_ Beamer oder Screen,
Entwicklungsumgebung
_ Eine Aufgabe / Anforderung für alle
_ Moderation kann sinnvoll sein
_ 45 – 90 Minuten
_ Gundsätzlich: Gegenindikatoren beachten
13. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 13
MOB REFACTORING (ALLE ALLE)→
_ Wie Mob Programming
_ Modul, Klasse oder Methode überarbeiten
_ Wissensvermittlung extrem
_ Handwerk, Tipps- und Tricks und
Systemkenntnis werden verteilt
14. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 14
MOB PAIRING (1 ALLE)→
_ Eine Entwicklerin oder ein Entwickler setzt
„den Hut auf“
_ Jeder Schritt wird verbalisiert
_ Alle fragen, fragen, fragen
_ Steile Lernkurve möglich
_ Exponierte Stellung Teamdynamik beachten→
15. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 15
WEITERE MOB VARIANTEN
_ Mob Bug Fixing Regressiontest first→
_ Double- / Multi- Mob: test, implement,
refactor
_ Mob Dojos Wiederholung!→
16. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 16
TEAMSPHASEN NACH TUCKMAN
Norming
_neue Regeln
_offene Fronten
_“besser als Storming“
Performing
_hohe Motivation
_hohes Leistungslevel
_guter Konfliktumgang
Storming
_Revierkämpfe
_hohes Energielevel
_Cliquen
Forming
_ höflich
_keine (sichtbaren) Konflikte
17. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 17
TEAMPHASEN NACH TUCKMAN
Forming PerformingStorming Norming Adjourning
Arbeitsleistung
Motivation
Quelle: sminca 076, www.sminca.de
18. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 18
WEITERE GEGENINDIKATOREN: JA!
19. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 19
PROBIERT ETWAS AUS UND FINDET,
WAS FÜR EUCH FUNKTIONIERT!
20. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 20
PAIR PROGRAMMING (1 1)→
_ Navigator Driver, Maus Tastatur,→ →
Test Implementierung, Libero(2 Rechner),→
Architect Syntaxor, Silent – nur→
schreiben, ...
_ Rollen und Besetzung tauschen
_ Keine Störungen zulassen Fokus→
_ Promodoro Timer
21. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 21
STUDIE: DIE VORTEILE ÜBERWIEGEN
A Relativer Zeitbedarf: 120 – 150%
B 15% weniger Defekte
C 20% weniger Zeilen Code
Laurie Williams (2001): The Costs and Benefits of Pair Programming
https://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF
22. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 23
COST INCREASES OVER TIME
Quelle: http://csfieldguide.org.nz/releases/2.4.1/en/chapters/software-engineering.html
23. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 24
PAIR COLLABORATION ( 1 1+)→
_ Remote und lokal möglich
_ Körperliche Nähe vermeidbar
_ Screensharing ist kein Ersatz
_ Lösungen: Saros (Eclipse, XMPP), AWS Cloud9
(Webclient, kein Java), Floobits (Cloud)
_ Miteinander sprechen muss möglich sein
24. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 25
FLOOBITS
_ Sublime
_ IntelliJ (IDEA)
_ Emacs
_ Neovim
_ Atom
Quelle: http://floobits.com
25. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 26
CHECK IM WORKFLOW (1 1)→
_ Synchron Bias vermeiden→
_ Ready to prove: Pull- oder Merge-Requests
(github, gitlab, bitbucket, TFS) asynchron
_ Nicht mehr als eine Antwort digital!
_ Inline comments!!
26. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 27
CODING DOJO (1 - Alle)
_ Zeit begrenzen
_ Trainingsaufgabe lösen
_ Eventuell: Eine Lösung vorstellen
_ Wiederholen
27. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 28
WAS WIRST DU IN DEN NÄCHSTEN TAGEN
ÄNDERN ODER AUSPROBIEREN?
28. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 29
PROBIERT ETWAS AUS UND FINDET,
WAS FÜR EUCH FUNKTIONIERT!
29. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 30
VIEL ERFOLG!
judithandresen.com/blog/vortrag
judithandresen.com/newsletter
info@judithandresen.com
@judithandresen
Wir wollen als Team wachsen. Wir suchen
agile Coaches, Organisationsentwickler
und -entwicklerinnen.
30. QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 31
WIR BILDEN ZU AGILE COACHES AUS.
NÄCHSTER AUSBILDUNGSSTART:
JANUAR 2019
INFOS UNTER
judithandresen.com/termine