SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
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
QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 2
TOBIAS RANFT
Agile Coach
@HerrTo
judithandresen.com
ECHTE ZUSAMMENARBEIT
MÖGLICH MACHEN
QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 3
STELLT FRAGEN!
QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 4
PROBIERT ETWAS AUS UND FINDET,
WAS FÜR EUCH FUNKTIONIERT!
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
QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 6
GUTER CODE IST LES-, TEST- UND
ERWEITERBAR …
… UND TUT, WAS ER SOLL.
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
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ß !
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!
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)
QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 11
CODE REVIEW:
ES SCHAUEN MEHR ALS ZWEI AUGEN DRAUF!
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
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
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→
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!→
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
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
QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 18
WEITERE GEGENINDIKATOREN: JA!
QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 19
PROBIERT ETWAS AUS UND FINDET,
WAS FÜR EUCH FUNKTIONIERT!
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
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
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
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
QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 25
FLOOBITS
_ Sublime
_ IntelliJ (IDEA)
_ Emacs
_ Neovim
_ Atom
Quelle: http://floobits.com
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!!
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
QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 28
WAS WIRST DU IN DEN NÄCHSTEN TAGEN
ÄNDERN ODER AUSPROBIEREN?
QUALITÄT UND TEAM MIT CODE REVIEWSBERATUNG JUDITH ANDRESEN 29
PROBIERT ETWAS AUS UND FINDET,
WAS FÜR EUCH FUNKTIONIERT!
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.
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

Weitere ähnliche Inhalte

Ähnlich wie W-JAX 2018 | Qualität und Team mit Code Reviews

UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...Nico Orschel
 
HOW TO SURVIVE A 2DAY HACKATHON?
HOW TO SURVIVE A 2DAY HACKATHON?HOW TO SURVIVE A 2DAY HACKATHON?
HOW TO SURVIVE A 2DAY HACKATHON?Stefan Adolf
 
Testgetriebene Entwicklung mit JavaScript - webtech 2010
Testgetriebene Entwicklung mit JavaScript - webtech 2010Testgetriebene Entwicklung mit JavaScript - webtech 2010
Testgetriebene Entwicklung mit JavaScript - webtech 2010Sebastian Sanitz
 
How to test your JavaScript - TDD and BDD possible
How to test your JavaScript - TDD and BDD possibleHow to test your JavaScript - TDD and BDD possible
How to test your JavaScript - TDD and BDD possibleFelix Müller
 
Die nächste Generation des Unit Testing
Die nächste Generation des Unit TestingDie nächste Generation des Unit Testing
Die nächste Generation des Unit TestingDaniel Lehner
 
Ich will agil testen! was muss ich können iqnite 2014 - verison 2.0
Ich will agil testen! was muss ich können   iqnite 2014 - verison 2.0Ich will agil testen! was muss ich können   iqnite 2014 - verison 2.0
Ich will agil testen! was muss ich können iqnite 2014 - verison 2.0Michael Fischlein
 
Qualitymanagement mit Sitecore und Sonarqube
Qualitymanagement mit Sitecore und SonarqubeQualitymanagement mit Sitecore und Sonarqube
Qualitymanagement mit Sitecore und SonarqubeDaniel Scherrer
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Markus Unterauer
 
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis NachhaltigkeitDWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis NachhaltigkeitNico Orschel
 
Beyond Agile - when Freedom grows to Quality and Speed
Beyond Agile - when Freedom grows to Quality and SpeedBeyond Agile - when Freedom grows to Quality and Speed
Beyond Agile - when Freedom grows to Quality and SpeedSebastian Bernt
 
UI Testautomation in der Praxis: Von Lokalisierung bis Nachhaltigkeit
UI Testautomation in der Praxis: Von Lokalisierung bis NachhaltigkeitUI Testautomation in der Praxis: Von Lokalisierung bis Nachhaltigkeit
UI Testautomation in der Praxis: Von Lokalisierung bis NachhaltigkeitNico Orschel
 
Lego Workshop Scrum Einführung
Lego Workshop Scrum EinführungLego Workshop Scrum Einführung
Lego Workshop Scrum EinführungTorsten Irländer
 
Code Review to the Rescue
Code Review to the RescueCode Review to the Rescue
Code Review to the RescueAndreas Günzel
 
Das funktionierte doch schon einmal! - JUnit Testing in XPages
Das funktionierte doch schon einmal! - JUnit Testing in XPagesDas funktionierte doch schon einmal! - JUnit Testing in XPages
Das funktionierte doch schon einmal! - JUnit Testing in XPagesChristian Güdemann
 

Ähnlich wie W-JAX 2018 | Qualität und Team mit Code Reviews (20)

Test-Alternativen
Test-AlternativenTest-Alternativen
Test-Alternativen
 
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
UI Testautomation in der Praxis ... von Lokalisierung bis Nachhaltigkeit (Cod...
 
HOW TO SURVIVE A 2DAY HACKATHON?
HOW TO SURVIVE A 2DAY HACKATHON?HOW TO SURVIVE A 2DAY HACKATHON?
HOW TO SURVIVE A 2DAY HACKATHON?
 
Testgetriebene Entwicklung mit JavaScript - webtech 2010
Testgetriebene Entwicklung mit JavaScript - webtech 2010Testgetriebene Entwicklung mit JavaScript - webtech 2010
Testgetriebene Entwicklung mit JavaScript - webtech 2010
 
Mehr Softwarequalität: TeamCleanCoding
Mehr Softwarequalität: TeamCleanCodingMehr Softwarequalität: TeamCleanCoding
Mehr Softwarequalität: TeamCleanCoding
 
Mehr Softwarequalität: Team-Cleancoding
Mehr Softwarequalität: Team-CleancodingMehr Softwarequalität: Team-Cleancoding
Mehr Softwarequalität: Team-Cleancoding
 
Die 7 Wege zum Clean Code
Die 7 Wege zum Clean CodeDie 7 Wege zum Clean Code
Die 7 Wege zum Clean Code
 
How to test your JavaScript - TDD and BDD possible
How to test your JavaScript - TDD and BDD possibleHow to test your JavaScript - TDD and BDD possible
How to test your JavaScript - TDD and BDD possible
 
Die nächste Generation des Unit Testing
Die nächste Generation des Unit TestingDie nächste Generation des Unit Testing
Die nächste Generation des Unit Testing
 
Ich will agil testen! was muss ich können iqnite 2014 - verison 2.0
Ich will agil testen! was muss ich können   iqnite 2014 - verison 2.0Ich will agil testen! was muss ich können   iqnite 2014 - verison 2.0
Ich will agil testen! was muss ich können iqnite 2014 - verison 2.0
 
Qualitymanagement mit Sitecore und Sonarqube
Qualitymanagement mit Sitecore und SonarqubeQualitymanagement mit Sitecore und Sonarqube
Qualitymanagement mit Sitecore und Sonarqube
 
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
Rückwärts denken vorwärts handeln - Requirements Reverse Engineering bei Syst...
 
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
DWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis NachhaltigkeitDWX 2014 -  Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
 
Beyond Agile - when Freedom grows to Quality and Speed
Beyond Agile - when Freedom grows to Quality and SpeedBeyond Agile - when Freedom grows to Quality and Speed
Beyond Agile - when Freedom grows to Quality and Speed
 
UI Testautomation in der Praxis: Von Lokalisierung bis Nachhaltigkeit
UI Testautomation in der Praxis: Von Lokalisierung bis NachhaltigkeitUI Testautomation in der Praxis: Von Lokalisierung bis Nachhaltigkeit
UI Testautomation in der Praxis: Von Lokalisierung bis Nachhaltigkeit
 
Codeception VisualCeption
Codeception VisualCeptionCodeception VisualCeption
Codeception VisualCeption
 
Lego Workshop Scrum Einführung
Lego Workshop Scrum EinführungLego Workshop Scrum Einführung
Lego Workshop Scrum Einführung
 
Code Review to the Rescue
Code Review to the RescueCode Review to the Rescue
Code Review to the Rescue
 
Das funktionierte doch schon einmal! - JUnit Testing in XPages
Das funktionierte doch schon einmal! - JUnit Testing in XPagesDas funktionierte doch schon einmal! - JUnit Testing in XPages
Das funktionierte doch schon einmal! - JUnit Testing in XPages
 
Das Pfadfinderprinzip in DevOps
Das Pfadfinderprinzip in DevOpsDas Pfadfinderprinzip in DevOps
Das Pfadfinderprinzip in DevOps
 

Mehr von Tobinium

Agiles Forum | Einfach machen
Agiles Forum | Einfach machenAgiles Forum | Einfach machen
Agiles Forum | Einfach machenTobinium
 
[RemoteAgil2021] Vorgehen und Tools für die erfolgreiche Remote-Zusammenarbeit
[RemoteAgil2021] Vorgehen und Tools für die erfolgreiche Remote-Zusammenarbeit[RemoteAgil2021] Vorgehen und Tools für die erfolgreiche Remote-Zusammenarbeit
[RemoteAgil2021] Vorgehen und Tools für die erfolgreiche Remote-ZusammenarbeitTobinium
 
[RemoteAgil2021] Remote Aktivierungen
[RemoteAgil2021] Remote Aktivierungen[RemoteAgil2021] Remote Aktivierungen
[RemoteAgil2021] Remote AktivierungenTobinium
 
[RemoteAgil2021] Miteinander arbeiten + profitieren
[RemoteAgil2021] Miteinander arbeiten + profitieren [RemoteAgil2021] Miteinander arbeiten + profitieren
[RemoteAgil2021] Miteinander arbeiten + profitieren Tobinium
 
BASTA! | Agile Antipatterns
BASTA! | Agile AntipatternsBASTA! | Agile Antipatterns
BASTA! | Agile AntipatternsTobinium
 
IPC / webinale 2018 | Erfolgreiche Retrospektiven gestalten
IPC / webinale 2018 | Erfolgreiche Retrospektiven gestaltenIPC / webinale 2018 | Erfolgreiche Retrospektiven gestalten
IPC / webinale 2018 | Erfolgreiche Retrospektiven gestaltenTobinium
 
IPC / webinale 2018 | Wie Sie Produkte kundenzentriert entwickeln und schärfen
IPC / webinale 2018 | Wie Sie Produkte kundenzentriert entwickeln und schärfenIPC / webinale 2018 | Wie Sie Produkte kundenzentriert entwickeln und schärfen
IPC / webinale 2018 | Wie Sie Produkte kundenzentriert entwickeln und schärfenTobinium
 
ADT 2018 | Agile Transition steuern
ADT 2018 | Agile Transition steuernADT 2018 | Agile Transition steuern
ADT 2018 | Agile Transition steuernTobinium
 
BASTA! 2018 | Kanbansimulation mit Team Flow
BASTA! 2018 | Kanbansimulation mit Team FlowBASTA! 2018 | Kanbansimulation mit Team Flow
BASTA! 2018 | Kanbansimulation mit Team FlowTobinium
 
BASTA! | Wie steuere ich eine agile Transition
BASTA! | Wie steuere ich eine agile TransitionBASTA! | Wie steuere ich eine agile Transition
BASTA! | Wie steuere ich eine agile TransitionTobinium
 
Bausteine Erfolgreicher Retrospektiven | IPC 17 München
Bausteine Erfolgreicher Retrospektiven | IPC 17 MünchenBausteine Erfolgreicher Retrospektiven | IPC 17 München
Bausteine Erfolgreicher Retrospektiven | IPC 17 MünchenTobinium
 
Webinale 2017 | Hilfe, wir wachsen ...und alles geht kaputt
Webinale 2017 | Hilfe, wir wachsen ...und alles geht kaputtWebinale 2017 | Hilfe, wir wachsen ...und alles geht kaputt
Webinale 2017 | Hilfe, wir wachsen ...und alles geht kaputtTobinium
 
Sand oder öl im getriebe
Sand oder öl im getriebeSand oder öl im getriebe
Sand oder öl im getriebeTobinium
 
Scrum Anwendungsfehler
Scrum AnwendungsfehlerScrum Anwendungsfehler
Scrum AnwendungsfehlerTobinium
 

Mehr von Tobinium (14)

Agiles Forum | Einfach machen
Agiles Forum | Einfach machenAgiles Forum | Einfach machen
Agiles Forum | Einfach machen
 
[RemoteAgil2021] Vorgehen und Tools für die erfolgreiche Remote-Zusammenarbeit
[RemoteAgil2021] Vorgehen und Tools für die erfolgreiche Remote-Zusammenarbeit[RemoteAgil2021] Vorgehen und Tools für die erfolgreiche Remote-Zusammenarbeit
[RemoteAgil2021] Vorgehen und Tools für die erfolgreiche Remote-Zusammenarbeit
 
[RemoteAgil2021] Remote Aktivierungen
[RemoteAgil2021] Remote Aktivierungen[RemoteAgil2021] Remote Aktivierungen
[RemoteAgil2021] Remote Aktivierungen
 
[RemoteAgil2021] Miteinander arbeiten + profitieren
[RemoteAgil2021] Miteinander arbeiten + profitieren [RemoteAgil2021] Miteinander arbeiten + profitieren
[RemoteAgil2021] Miteinander arbeiten + profitieren
 
BASTA! | Agile Antipatterns
BASTA! | Agile AntipatternsBASTA! | Agile Antipatterns
BASTA! | Agile Antipatterns
 
IPC / webinale 2018 | Erfolgreiche Retrospektiven gestalten
IPC / webinale 2018 | Erfolgreiche Retrospektiven gestaltenIPC / webinale 2018 | Erfolgreiche Retrospektiven gestalten
IPC / webinale 2018 | Erfolgreiche Retrospektiven gestalten
 
IPC / webinale 2018 | Wie Sie Produkte kundenzentriert entwickeln und schärfen
IPC / webinale 2018 | Wie Sie Produkte kundenzentriert entwickeln und schärfenIPC / webinale 2018 | Wie Sie Produkte kundenzentriert entwickeln und schärfen
IPC / webinale 2018 | Wie Sie Produkte kundenzentriert entwickeln und schärfen
 
ADT 2018 | Agile Transition steuern
ADT 2018 | Agile Transition steuernADT 2018 | Agile Transition steuern
ADT 2018 | Agile Transition steuern
 
BASTA! 2018 | Kanbansimulation mit Team Flow
BASTA! 2018 | Kanbansimulation mit Team FlowBASTA! 2018 | Kanbansimulation mit Team Flow
BASTA! 2018 | Kanbansimulation mit Team Flow
 
BASTA! | Wie steuere ich eine agile Transition
BASTA! | Wie steuere ich eine agile TransitionBASTA! | Wie steuere ich eine agile Transition
BASTA! | Wie steuere ich eine agile Transition
 
Bausteine Erfolgreicher Retrospektiven | IPC 17 München
Bausteine Erfolgreicher Retrospektiven | IPC 17 MünchenBausteine Erfolgreicher Retrospektiven | IPC 17 München
Bausteine Erfolgreicher Retrospektiven | IPC 17 München
 
Webinale 2017 | Hilfe, wir wachsen ...und alles geht kaputt
Webinale 2017 | Hilfe, wir wachsen ...und alles geht kaputtWebinale 2017 | Hilfe, wir wachsen ...und alles geht kaputt
Webinale 2017 | Hilfe, wir wachsen ...und alles geht kaputt
 
Sand oder öl im getriebe
Sand oder öl im getriebeSand oder öl im getriebe
Sand oder öl im getriebe
 
Scrum Anwendungsfehler
Scrum AnwendungsfehlerScrum Anwendungsfehler
Scrum Anwendungsfehler
 

W-JAX 2018 | Qualität und Team mit Code Reviews

  • 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