pair- und mob-programmingextreme programming (xp) – ca. 1996 .. 2000 … „flaccid scrum“...
TRANSCRIPT
![Page 1: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/1.jpg)
Pair- und Mob-ProgrammingDamit Agile erfolgreich wird und bleibt!
Thomas Much @thmuch
![Page 2: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/2.jpg)
@thmuch #JAX2018
Thomas Much
Freelancer, Hamburg
Agile Developer Coach
Software Developer (Java et al.)
Über…
![Page 3: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/3.jpg)
Es war einmal vor langer Zeit in einer weit, weit entfernten Galaxis….
![Page 4: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/4.jpg)
Neulich im Büro….
![Page 5: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/5.jpg)
„Boah, wer soll denn diesen Schrott pflegen?“
„Wer hat denn den Code geschrieben?“
„Oh. Ich selber.“
![Page 6: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/6.jpg)
„Das muss Kollege X machen, er hat das mit seinem #!@%&$!? Stil programmiert.“
![Page 7: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/7.jpg)
Problem: Lesbarkeit• Code wird sehr viel häufiger gelesen als geschrieben
• Verständlichkeit essentiell für Wartung & Pflege!
• Wir Entwickler schreiben Code häufig schludrig – oder zu „clever“
• Wer gibt uns Feedback, bevor es zu spät ist?
Problem lösenCode schreibenCode verstehen
https://www.slideshare.net/cairolali/langlebige-architekturen
![Page 8: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/8.jpg)
– Brian Kernighan
„Everyone knows that debugging is twice as hard as writing a program in the first place.
So if you're as clever as you can be when you write it, how will you ever debug it?“
Problem: Einfachheit
Wer schützt uns davor, zu „clever“ zu sein?
![Page 9: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/9.jpg)
„Dafür machen wir Code-Reviews!“
![Page 10: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/10.jpg)
Code-Reviews?
Reviews oft nicht ehrlich (systembedingt).
Falsche Anreize.
Feedback zu spät.
Wer macht dann noch grundlegende Änderungen?
![Page 11: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/11.jpg)
„Kollege A ist gerade im Urlaub, der Bugfix muss warten.“
„Kollege B ist nicht mehr im Unternehmen, sein Programm müssten wir neu schreiben.“
„Das wird Monate dauern, bis der neue Kollege C das Projekt verstanden hat und mitprogrammieren kann.“
![Page 12: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/12.jpg)
Problem: Wissensverteilung
Fehlende Wissensverteilung.
Kein Collective CodeProduct Ownership.
Wie? Doku, Workshops, Schulungen …
Arbeiten wir als Team an unserem Code / unserem Produkt?
![Page 13: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/13.jpg)
„Aber wir sind doch ein Team?!“
![Page 14: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/14.jpg)
„Team“arbeit
Aufgabe 1
Aufgabe 2
A
B
![Page 15: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/15.jpg)
Lösung! „Wir werden agil.“To Do In Progress Done
Story 1
Story 2
A
B
![Page 16: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/16.jpg)
– Tim Ottinger
„If your agile Team has individual work assignments, I suspect it is neither agile nor team.“
![Page 17: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/17.jpg)
Echte ZusammenarbeitTo Do In Progress Done
Story 1
Story 2
A
C
B
D
![Page 18: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/18.jpg)
Problem: Zusammenarbeit
Wie arbeiten wir wirklich zusammen
statt nebeneinander her?
![Page 19: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/19.jpg)
Probleme!?
Lesbarkeit / Einfachheit / Verständlichkeit
Wartbarkeit / Wissensverteilung
Zusammenarbeit
![Page 20: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/20.jpg)
Was wollen wir erreichen?
Schnellstens „fertig“ werden – möglichst quick, egal wie dirty?
(„Nach mir die Sintflut“)
Oder einigermaßen wartbare Software entwickeln?
![Page 21: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/21.jpg)
Wartbare Software entwickeln
In „meinen“ Projekten:Kunden müssen bzw. wollen die Software selber pflegen.
Ziel daher:Wartbare Software entwickeln.
Unterstützt durch Pair Programming.
![Page 22: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/22.jpg)
Pair Programming CoachingIdee: Pair Programming aktiv fördern.
Seit 2013 in zahlreichen Teams durch Coaching unterstützt.
E-Commerce, BI, klassische Enterprise-Backends.
Coach begleitet Team 1-2 Sprints (2-4 Wochen).
Coach arbeitet soweit möglich als Entwickler mit.
![Page 23: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/23.jpg)
Coaching-AblaufKickoff
1-2 Wochen Coaching
Zwischenstand1-2 Wochen CoachingAbschluss
Kickoff
1-2 Wochen Coaching
Zwischenstand1-2 Wochen CoachingAbschluss
{½ bzw. 1 Sprint
Coach coded
mit
![Page 24: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/24.jpg)
Pair Programming: Schnell erklärt
1 Aufgabe
![Page 25: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/25.jpg)
Driver & Navigator
https://commons.wikimedia.org/wiki/File:FORD_Taunus_17M_P2_deLuxe_Steering_wheel.jpg http://www.marcusvenzke.de/HamburgKarte/
![Page 26: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/26.jpg)
Diverse Varianten
![Page 27: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/27.jpg)
Die Rettung: Pair Programming
Know-How-Transfer
Collective CodeProduct Ownership
Clean Code
Wartbarkeit
Nachhaltigkeit, QualitätTschakk
a!
![Page 28: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/28.jpg)
Keine neue Idee
Pair Programming – ca. 1992? .. 2000 …
Extreme Programming (XP) – ca. 1996 .. 2000 …
„Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices !
![Page 29: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/29.jpg)
Pair Programming ist „in“Chef:
„Wir machen jetzt Pair Programming.Ab sofort sitzt ihr zu zweit vorm Rechner!“
Entwickler A: „Cool, endlich!“Entwickler B: „Och nö, das mag ich nicht“ Entwickler C: „???“
![Page 30: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/30.jpg)
„Der andere ist aber viel zu schnell für mich“
„Der andere ist zu langsam und kapiert es einfach nicht“
„Das schlaucht total“
„Ich will lieber alleine arbeiten“
![Page 31: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/31.jpg)
Anti-Patterns
Festes Pair sitzt auf einer Story.
Die 4 Wochen dauert.
Eigentlich tippt immer derselbe.
Abwechslung & Kreativität fehlen!
![Page 32: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/32.jpg)
Das Kleingedruckte
![Page 33: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/33.jpg)
Was üben wir?Passende Kommunikation
Rollenwechsel
Effizient Pausen machen
Pair-Wechsel (Rotation)
Umgang mit unterschiedlichen Wissensständen
Vorbereitung von Stories & Tasks
![Page 34: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/34.jpg)
Passende KommunikationStille ⟷ zu viel reden
Als Techniker müssen wir gute Kommunikation üben…
Driver erklärt: „Warum“, nicht „Was“
Navigator sagt nicht zu jeder Kleinigkeit etwas.
![Page 35: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/35.jpg)
Gutes Pair Programming
![Page 36: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/36.jpg)
Richtiges Pair Programming ist
Kommunikation über geschriebenen Code.
Nicht nur reden über fiktiven Code.
![Page 37: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/37.jpg)
Warum hilft Pair Programming?
Wir unterliegen bestimmten „Brain Patterns“:
Interpretation
„Was“ vs. „Wie“
…
https://www.smidig.de/2016/09/brain-patterns-in-der-softwarentwicklung/ https://javabarista.blogspot.de/2016/06/pair-programming-das-gehirn.html
![Page 38: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/38.jpg)
Rollenwechsel• Häufig!
• Alle paar Minuten?!
• Erhält Aufmerksamkeit & Kreativität.
Ping-Pong-ProgrammierungRed-Green-Refactor TDD
![Page 39: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/39.jpg)
Code-Reviews: Ständig & implizit!
Pair Programming ist eine Review-Technik!
Feedback rechtzeitig.
Auch für grundlegende Änderungen.
![Page 40: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/40.jpg)
Explizite Code-Reviews: Optional.
Bei Arbeit im Pair kein Review mehr nötig.
(Kann aber optional eingefordert werden.)
![Page 41: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/41.jpg)
Aufmerksamkeit & Kreativität
![Page 42: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/42.jpg)
Effizient Pausen machenBevor die Aufmerksamkeit zu stark sinkt.
Z.B. mit „Pomodoro“:
Kreativ-Zeitmanagement-Technik.
https://de.wikipedia.org/wiki/Pomodoro-Technik#/media/File:Il_pomodoro.jpg
![Page 43: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/43.jpg)
Effizient Pausen machen
Timer-App
benutzen!
25 Min. 5 25 5 25 5 25 5Timebox
Fokussiert an der
Aufgabe arbeiten!
Pause
Einhalten!
längere Pause
Pair-Wechsel?
![Page 44: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/44.jpg)
Wissensinseln
![Page 45: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/45.jpg)
Wissensinseln 2.0
1 12 2
3 3
![Page 46: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/46.jpg)
Pair-Rotation!
112
2
3
3
Mind. 1x
pro Tag
![Page 47: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/47.jpg)
Wer mit wem?Jeder mit jedem!
Experte & Experte
Experte & Einsteiger
Einsteiger & Einsteiger
Sparrings-Partner
Know-How-Transfer. Beginner’s Mind! Projekt entdecken.
Schwachstellen aufdecken.
![Page 48: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/48.jpg)
Und der Coach?
Coach ist Experte (methodisch, manchmal technisch)
Coach ist Einsteiger (fachlich, oft technisch)
Realistische Mitarbeit!
Akzeptanz
![Page 49: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/49.jpg)
Der Coach …Pairt mit
Beobachtet die Pairs
Übt mit dem Team: Rollenwechsel. Pair-Rotation. Pausen. Pairing-Varianten.
![Page 50: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/50.jpg)
Pairing-Varianten
https://twitter.com/thmuch/status/959456902877974528
@LlewellynFalco
![Page 51: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/51.jpg)
Und trotzdem …
![Page 52: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/52.jpg)
„Aber alleine bin ich viel schneller.“
![Page 53: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/53.jpg)
– Afrikanisches Sprichwort
„If you want to go fast, go alone.
If you want to go far, go together.“
Bewusstsein schaffen
![Page 54: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/54.jpg)
Kleinigkeiten helfenAblehnung hat viele Gründe…
Kompromissbereitschaft bei Befürwortern und Ablehnern nötig.
Nutzen für das Team klarmachen!
Klare Abmachungen aussprechen.
z.B. „Kurzzeit-Pairing“
Kleiner Schritt, große Wirkung!
![Page 55: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/55.jpg)
Geschwindigkeit
Gefühlt langsamer – aber weniger Nacharbeiten?!
Schneller „Done“ – da weniger Rückwärtsbewegung von Tasks?!
So langsam sein, dass man das Richtige richtig machen kann.
![Page 56: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/56.jpg)
– Jason Gorman
„Don't think of pair programmingas 2 people doing the work of one.
Think of it as 2 people avoiding the rework of 7.“
![Page 57: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/57.jpg)
Geschwindigkeit ist nicht alles
We follow these principles: …
Agile processes promote sustainable development. The sponsors, developers, and users should be able
to maintain a constant pace indefinitely. …
http://agilemanifesto.org/principles.html
![Page 58: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/58.jpg)
100% Pairing?Eher nicht. Aber:
Muss normale Arbeitspraktik sein!
Darf keine Ausrede sein, Pair Programming einschlafen zu lassen.
Wieviel % vom Tag coden wir? Realistisch? 100%?
Von der echten Coding-Zeit kann man viel für Pairing nutzen!
Solo-Zeit muss erlaubt sein!
Für Lernen von Neuem,
Lesen, Recherche etc.
![Page 59: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/59.jpg)
Beyond Pair Programming
![Page 60: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/60.jpg)
Zusammenarbeit geht viel weiter!Rollenübergreifend:
Dev, QS, UX, …
Pair Doing – „Pair on Everything“
Perspektivwechsel
Mob-Programming
![Page 61: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/61.jpg)
Mob Programming
– Llewellyn Falco– Woody Zuill
„It’s about getting the BEST (not the most)
from your team.“
![Page 62: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/62.jpg)
Mob ProgrammingRollenwechsel!
Wechsel nach fester Timebox (z.B. 10 oder 15 Min.)
Dynamischer Mob: Kommen und gehen.
Evtl. angenehmer als Pair Programming,da nicht so „eng“.
![Page 63: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/63.jpg)
Mob ProgrammingAuch rollenübergreifend!
„All the brilliant minds working on the same thing, at the same time, on the same computer.“
„Continuous Integration of Ideas“
Dev
DevOps
QS UXDie wichtigste Aufgabe zügig fertig bekommen.
PO
![Page 64: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/64.jpg)
Modern AgileAgile – aber so, dass es funktioniert.
http://modernagile.org/
Pair und Mob
Programming
gehören fest dazu!
![Page 65: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/65.jpg)
Gute Vorbereitung muss sein
Gemeinsame Vorbereitung geeigneter, kleiner Tasks.
Discovery, Planning, …
Durch Pair Programming erkennt das Team hier oft „Luft nach Oben“
![Page 66: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/66.jpg)
Remote Pairing
Am besten mit Offline-Erfahrung!
Tools:Floobits Editor-/IDE-Plugin, AWS Cloud 9 etc.
TeamViewer etc.
Ausprobieren. Hängt viel vom Netzwerk (Proxies etc.) ab.
![Page 67: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/67.jpg)
FazitPair & Mob Programming stärken agiles Vorgehen.
Coaching hilft, Pair & Mob Programming langfristig zu etablieren.
Wir haben gute Erfahrungen gesammelt!
Selber Best Practices pro Team herausfinden.
Üben, üben, üben. Machen!
![Page 68: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/68.jpg)
Agiles Coaching – wichtig!
Aber:
Coaching für Programmierpraktiken nicht vergessen.
![Page 69: Pair- und Mob-ProgrammingExtreme Programming (XP) – ca. 1996 .. 2000 … „Flaccid Scrum“ (Fowler 2009): Scrum = XP - Practices ! Pair Programming ist „in“ Chef: „Wir machen](https://reader035.vdocuments.net/reader035/viewer/2022063007/5fba5c0fbd5e68048852724b/html5/thumbnails/69.jpg)
Fragen?
Mob Programming
Pomodoro
Strong Style Pairing
LesbarkeitEinfachheit
Know-How-Transfer
Collective Product Ownership
XP
TDD
Pair Programming
Coaching
Modern Agile
Geschwindigkeit