Pair Programming Mythbusters - XP Days Germany · PDF filePair Programming Mythen, Fehler &...

Post on 06-Mar-2018

224 views 1 download

Transcript of Pair Programming Mythbusters - XP Days Germany · PDF filePair Programming Mythen, Fehler &...

© 2013 Mayflower GmbH

XP Days 14. November 2013Martin Ruprecht

Pair Programming Mythbusters

Donnerstag, 14. November 13

Martin RuprechtPHP / JavaScript / Agile Methodenmartin.ruprecht@mayflower.de@mrupilo

Donnerstag, 14. November 13

Fieses Foto? Opa --> raucht gemütlich Pfeife und erzähl aus seinem Leben. Und das mache ich heute auch, ich erzähle aus meiner Arbeitswelt.

Pair Programming

Mythen, Fehler & Tipps + Tricks

Donnerstag, 14. November 13

In diesem Talk möchte ich euch viele Geschichten aus meinem Arbeitsleben erzählen und anhand dieser versuchengängige Mythen zum Pair Programming zu wiederlegen. Außerdem erzähl ich euch welche Fehler wir schon gemacht haben und welche Herausforderungen ich im PP sehe.Aber jetzt: Wer programmiert von euch im Pair? Wer kennt Mythen? Ratet mal, welche Aussage immer kommt wenn es ums Pair Programming geht!

„Pair Programming ist langsam!“

Mythos #1

©pk210

Donnerstag, 14. November 13

Richtig! DAS ist eine Aussage die immer kommt! Aber ist das wirklich so?

„Pair Programming ist schneller!“

© Thomas Helbig

Donnerstag, 14. November 13

Stichwort: Definition of Done -> Review, muss hier nicht gemacht werdenGeschichte: Shares in DLS. Daniel hat es gemacht, ich habe das Review gemacht, anschl. habe ich es nochmal gemacht.Einmal zu zweit wäre besser gewesen.

„Pair Programming ist schneller!“

Donnerstag, 14. November 13

Stichwort: Definition of Done -> Review, muss hier nicht gemacht werdenGeschichte: Shares in DLS. Daniel hat es gemacht, ich habe das Review gemacht, anschl. habe ich es nochmal gemacht. Einmal zu zweit wäre besser gewesen. JAAAA, jetzt hat man zumindest schon mal die Einsicht, dass es zu zweit besser wäre, aber da kommt ein weiteres Argument gegen PP: PP ist teuer!

Mythos #2

„Pair Programming verbrennt zu viele Resourcen und ist nichts für mein Projekt!“

© Images of Money

Donnerstag, 14. November 13

Geschichte hier: Elger und Peri

Kosten

Zeit

Pair Programming

klassische Entwicklung

„Pair Programming ist effektiver!“http://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF

Donnerstag, 14. November 13

University of computer sience Utha, Alistair Cockburn (u.a. Crytal clear, Agile Sorfware Development, Mit-Urheber Agiles Manifest) Gegenargumente:4 Augen sehen einfach mehr als zwei, im Pair arbeitet man einfach fokusierter HIER Social Computing oder Wooga: 8min Fokusmacht weniger Fehler die zum Ende Zeit kosten als quasi Seiteneffekt WissenAHHH, Wissen weitergeben, gutes Stichwort, da kommt gleich der nächste Mythos

„Pair Programming ist nur was für Junior-Entwickler um Wissen zu übertragen!“

Mythos #3

© Christoph Polus

Donnerstag, 14. November 13

Geschichte von Nina und Michele

Wissensaustausch findet in beide Richtungen statt!

Donnerstag, 14. November 13

Parallele hier: Wassergläser mit unterschiedlichen Füllständen!

„Meine Tasks sind zu komplex fürs Pair Programming!“

Mythos #4

© Enrico Strocchi

Donnerstag, 14. November 13

Ein weiteres Argument hier: Als Entwickler möchte ich im „Flow“ arbeiten und nicht im Team. Jedoch kann dauerhaft der Flow-Zustand nicht gehalten werden.Geschichte: Code-Wurst

Bei komplexen Aufgaben muss im Pair programmiert werden!

© Charles Rincheval

Donnerstag, 14. November 13

Die Code-Wurst machte uns gut und gerne 1 Jahr lang Probleme

„Im Moment haben wir keine Zeit fürs Pair Programming- wir müssen liefern!“

Mythos #5

© Alan Dayley

Donnerstag, 14. November 13

Meine Lieblings-Erfahrung: Bugfixing mit Simon, Andrej, Aram und Torben.

Pair Programming ist schnell!

© Zach Dill

Donnerstag, 14. November 13

Pair Testing ist schnell!

© Zach Dill

Donnerstag, 14. November 13

Pair Debugging ist schnell!

© Zach Dill

Donnerstag, 14. November 13

Pair Bugfixing ist schnell!

© Zach Dill

Donnerstag, 14. November 13

„Pair Programming löst all unsere Probleme!“

Mythos #6

© Shell Eco-Marathon

Donnerstag, 14. November 13

Geschichte: Vitali oder Oli mit Commits in der Nacht/am Freitag --> anderes Problem im Team

ähh- Sorry!

© Ken Conley

Donnerstag, 14. November 13

„Im Pair geschriebener Code ist IMMER besser!“

Mythos #7

© kennysarmy

Donnerstag, 14. November 13

Nein!© Angelica Portales

Donnerstag, 14. November 13

Stimmt so jetzt nicht! Trotzdem sollte nicht auf gängige QA-Tools und Umgebungen verzichtet werden!

Verzichte nie auf QA!Donnerstag, 14. November 13

Stimmt so jetzt nicht! Trotzdem sollte nicht auf gängige QA-Tools und Umgebungen verzichtet werden!

Fehler im Pair Programming

Donnerstag, 14. November 13

Setup im Pair Programming == Driver & Navigator (aka Co-Pilot), ein Rechner/Monitor, ein Arbeitsplatz, zwei Stühle (wir wollen es ja nicht übertreiben)

Es ist nicht immer alles so easy abgelaufen bei uns darum erzähle ich euch jetzt etwas zu unseren Fehlern die wir gemacht haben.

Navigator nervt

Fehler

© Wikipedia

Donnerstag, 14. November 13

Navigator tritt oberlehrerhaft auf und stört somit gewaltig die Zusammenarbeit

Der Navigator ist nicht zur Prüfung der

korrekten Syntax da!

Donnerstag, 14. November 13

... dafür gibt es die IDE, QA Tools bzw. Umgebung,

Der Navigator sollte bereits einen Schritt

voraus denken!

Donnerstag, 14. November 13

Der Navigator ist nicht zur Verbesserung des Drivers da, sondern zur Verbesserung des Codes/Designs, Stichwort: Big Picture im Kopf

Driver nervt

Fehler

© Images of Monkey

Donnerstag, 14. November 13

Wie kann denn der Driver nervig werden?

Der Driver sitzt zwar an der Tastatur und ist KEIN Coding Monkey!

Donnerstag, 14. November 13

Ganz einfach, in dem er starr die Tastatur bedient und sich nicht an den Entscheidungen beteiligt

Der Driver ist gleichberechtigt an den Entscheidungen im

Code beteiligt!

Donnerstag, 14. November 13

... also Mitdenken ist erlaubt, Stichwort: Small Picture

Bereits getroffene

Entscheidungen werden negativ

bewertet

Fehler

© Collin Jenkins

Donnerstag, 14. November 13

dies gilt auch im nachhinein

Entscheidungen werden gemeinsam getroffen!

Donnerstag, 14. November 13

dies gilt auch im nachhinein

Navigator wechselt eigenständig in die Driver Rolle

Fehler

© Marianne Muegenburg Cothem

Donnerstag, 14. November 13

... sprich, er reißt das Keyboard an sich

Respektiere deinen Partner und halte dich

an die Regeln!

Donnerstag, 14. November 13

Das geht ja mal gar nicht! Es gibt im Pair Programming nunmal die zwei Rollen Driver und Navigator und die sollen auch so eingehalten werden

Driver startet mit der Implementierung ohne Navigator

Fehler

Donnerstag, 14. November 13

Dies ist ebenfalls ein grobes Foul! Das Team ist noch nicht vollständig, also gehts auch nicht los. Die gilt übrigens auch für kleine Unterbrechungen wie der Gang auf die Toilette oder zur Kaffeemaschine.

Respektiere deinen Partner und halte dich

an die Regeln!

Donnerstag, 14. November 13

Es findet keine Kommunikation statt

Fehler

© Dr Zoidberg

Donnerstag, 14. November 13

Keine Kommunikation der Partner deutet schlichtweg auf ein dysfunktionales Team hin.

Pair Programming lebt von der Kommunikation

der beiden Partner!

Donnerstag, 14. November 13

Weitere Herausforderungen

Donnerstag, 14. November 13

Verhältnis zwischen Driver und Navigator ist angespannt

Herausforderungen

Donnerstag, 14. November 13

Sprich, es gibt Kollegen mit denen man einfach nicht kann. Dennoch sollte man auch mit diesen Kollegen ein Pairing zumindest versuchen.

Häufiger Perspektivenwechsel

hilft den Partnern

Verhältnis zwischen Driver und Navigator ist angespannt

Donnerstag, 14. November 13

Ein Wechsel entspannt die Lage und ändert die Sichtweise

Klare Regeln definieren

Verhältnis zwischen Driver und Navigator ist angespannt

Donnerstag, 14. November 13

Klare Regeln definieren die Zusammenarbeit. Aber Achtung! Zu viele Regeln sind auch kein gutes Zeichen!

Driver, Navigator, Coach

Verhältnis zwischen Driver und Navigator ist angespannt

Donnerstag, 14. November 13

Eine weitere Instanz kann ein Team beflügeln und Missverständnissen vorbeugen

Andere, freundliche, „neutrale“ Umgebung

auswählen

Verhältnis zwischen Driver und Navigator ist angespannt

Donnerstag, 14. November 13

Ein Tapetenwechsel ist nicht schlecht und schafft eine andere Atmosphäre

Toleriere und wertschätze die Argumente deines

Partners

Verhältnis zwischen Driver und Navigator ist angespannt

Donnerstag, 14. November 13

Siehe auch dazu Grundsatz jeder Retrospektive (Prime Directive), „Jeder macht seinen Job bestmöglichst!“

Wissen ist nicht gleich verteilt

Herausforderungen

Donnerstag, 14. November 13

Dies kann und wird immer wieder passieren, was auch ganz einfach in der Aufstellung der (agilen) Entwickler-Teams liegt. Dies ist aber nicht schlimm. Sollte sich ein Entwickler dabei unwohl fühlen, „Der kann doch viel mehr“ gibt es die Möglichkeit, im vorhinein Aufgaben zu definieren, um Entwickler mit weniger Erfahrung die Möglichkeit zu geben, sich in ein Thema einzuarbeiten

Vorher definierte Aufgaben geben die Möglichkeit sich in ein Thema einzuarbeiten!

Wissen ist nicht gleich verteilt

Donnerstag, 14. November 13

„Mentoren“ können beim Wissensaufbau

eines Partners helfen!

Wissen ist nicht gleich verteilt

Donnerstag, 14. November 13

Alternativ können „Mentoren“ auch aus anderen Teams beim Wissensaufbau helfen.

Remote Pair Programming

© mofetos

Herausforderungen

Donnerstag, 14. November 13

Home-Office, verteilte Teams: auch hier kann im Pair gearbeitet werden, dazu nutzen wir Tools wie Skype, Jabber und Plugins für unsere IDE

Wir nutzen Tools wie Saros (Plugin für

Eclipse), Skype, Jabber....

Remote Pair Programming

http://www.saros-project.org/

Donnerstag, 14. November 13

Unterschiedliche Systeme

© ckowalik

Herausforderungen

Donnerstag, 14. November 13

Linux, Windows, Mac- jeder darf bei uns mit seinem Lieblingssystem arbeiten. Deshalb gilt hier beim Pairing: Respekt

Akzeptiere den Arbeitsplatz deines

Kollegen

Unterschiedliche Systeme

Donnerstag, 14. November 13

Siehe auch dazu Grundsatz jeder Retrospektive (Prime Directive), „Jeder macht seinen Job bestmöglichst!“

Respektiere deinen Partner und halte dich

an die Regeln!

Donnerstag, 14. November 13

Körpergerüche

Herausforderungen

Donnerstag, 14. November 13

Tja... solls auch geben

Donnerstag, 14. November 13

.... und zum Glück gibts das auch ;-)

Tipps

Donnerstag, 14. November 13

Abschließend noch ein paar Tipps zum Pair Progamming

Plane Pair Programming fix in deinen Tagesablauf

mit ein!

Tipps

Donnerstag, 14. November 13

1x täglich für 25- 30min.

Donnerstag, 14. November 13

Hintergrund dabei: unterschiedliche Arbeitszeiten, der eine kommt un 7 der andere um 10 Uhr. Tagesgeschäft, Meetings, Urlaub,...

„Pair Programming Sessions“(à 2 Std)

Donnerstag, 14. November 13

Hintergrund dabei: unterschiedliche Arbeitszeiten, der eine kommt un 7 der andere um 10 Uhr. Tagesgeschäft, Meetings, Urlaub,...

Partner sollten nicht vom Management bestimmt

werden!

Tipps

Donnerstag, 14. November 13

Das Management beschließt, dass nun im Pair gearbeitet werden soll. Das ist ja noch OK- aber dass auch noch die Paare vom Chef/Teamlead zugeordnet werden? Keine gute Idee. Damit jeder mal mit jedem Arbeitet, gibts unterschiedliche Modelle, ich möchte euch die Pair Stair oder auch Pair Matrix vorstellen

Pair Stair / Pair MatrixDonnerstag, 14. November 13

Steigerung dazu: keine Klebepunkte, sondern TicketNr.

Pairing auch beim Design, Testen,

Debuggen...

Tipps

Donnerstag, 14. November 13

TDD

Tipps

Donnerstag, 14. November 13

Test Driven Development eignet sich optimal fürs

Pair Programming!

Donnerstag, 14. November 13

Übung!

Tipps

Donnerstag, 14. November 13

Im Coding Dojos lässt sich mit Code Katas

hervorragend Pair Programming trainieren!

Donnerstag, 14. November 13

„... komm wir machens jetzt einfach mal!“

Tipps

Donnerstag, 14. November 13

© 2013 Mayflower GmbH

Fragen?

Donnerstag, 14. November 13

© 2013 Mayflower GmbH

martin.ruprecht@mayflower.de

@mrupilo

Feedback please!

Donnerstag, 14. November 13

Vielen Dank für Ihre Aufmerksamkeit!

© 2013 Mayflower GmbH

Kontakt Martin Ruprechtmartin.ruprecht@mayflower.de+49 89 24 20 54 1116

Mayflower GmbHMannhardtstr. 680538 München

Donnerstag, 14. November 13

Bildnachweis• http://www.flickr.com/photos/ujh/4307773392/sizes/l/in/photostream/

• http://www.flickr.com/photos/pk210/8720825865

• http://www.flickr.com/photos/8727395@N04/2879253933/in/photolist-5oqVTc-5C62UF-6qNjZV-6tWgVe-6tWgVi-6AcxBu-7ebryx-7ebrQi-7ebseF-7ebski-7ebsxF-7ebsCH-7ebsZz-7ebtev-7ebtri-7efjWS-7efk2q-7efkfW-7efkmY-7efksw-7efkN9-7efm6m-7efmgN-7efmvy-7efmFE-7efmTN-7fwRvj-7pQstR-7pQutt-7pQvFT-7pQwPp-7pQy6k-7pQzPM-7pQEoK-7pQFbX-7pUneL-7pUotA-7pUu7d-7pUwt7-7pUxfE-7pUxV7-7pUBtu-czP9NU-7JotBq-azxgAm-7EUKXs-84NPeG-7PHVof-8qeSR1-7GBXrE

• http://www.flickr.com/photos/59937401@N07/5930176734/in/photolist-a32GWs-8qTEUF-8VHkSg-bxMVzZ-ddeNXZ-d9DmTm-e32C4B-9VxMg2-9fKcip-dctnst-e3ou3E-9fjJ3M-dVhKs1-9WCV3h-dUML5q-9WA3Hp-dtQm2V-7CSL2z-8ibtjk-8ieDQo-8ibsV4-8ibtDV-8ieFFY-8ieECW-8ibsLB-8ieGBN-8ieDsu-8ieJcE-8ibrXH-8ieFvW-8ibuEP-8ieE2L-8ibsbt-8ibrfX-8ibt7P-8ibvg8-8ibrFK-8ieEPu-8ieEeA-8ieDgN-8ieHZG-7QJq72-7QMG7N-7QMKP9-7QJF1H-7QMBJs-7QMEwo-7QJHSp-7QJDQt-7QJm7p-7QMZRf

• http://www.flickr.com/photos/93361362@N00/260968967/in/photolist-p4wYX

• http://www.flickr.com/photos/strocchi/1451285663/

• http://www.flickr.com/photos/hugokernel/5027492067/

• http://www.flickr.com/photos/78832226@N00/2780700767/in/photolist-5eHPsF-5qgTZF-5qmfgq-5uuH3v-5vM7gB-5Lwcux-5UuR9Y-5UESLm-662P7W-6atRtx-6ay1oQ-6gFrrD-6o5g3N-6yBV6g-6yG1uw-6CyLoV-6Vno36-6WjY8C-6WKux1-6XB6NY-6XB7hG-72km4i-72pmnC-7hBQyB-7hRgHp-7jxFvV-7pVq1D-7pVq6M-7pVqo4-7viPMa-8aDCvD-7UmPrC-dACPHD-e4XtaU-87afpr-e4XegU-e4RQrz-e4RArX-e4XtR9-e4Xtho-e4RQTT-e4RR8z-7NQz4b-a1fwkq-9RPAVm-dAGVQo-aZyVVB-9G3KTW-9ZuiS7-dhio4Z-cMaKXL

• http://www.flickr.com/photos/46144172@N00/3688012537/in/photolist-6BU2D4-6LcjYz-6Nnyhu-6Noygb-6SR6v6-6WeMWW-6WiF2W-72YYrx-74cB3E-74u9uj-7bSfK8-7cXRW8-7eCEUj-7jvovC-7jQKG8-7jQKZc-7jUDC5-7sHAnQ-eGFgMh-8PSmG1-8dqacC-87tdVE-9epvNS-82mE3Z-8LPbXY-7Ru7bk-9k2rtm-djg6xs-8yNZyA-9ZimvU-9ZfsWt-9Zinbd-9ZimGw-8y81WS-duCDsK-ak2Lwe-dSve1Q-bBAkTy-9zpur8-8z8HDF-b7STKc-8D1q7n-aJRfYa-9jJH3f-8ENVSy-8ENVyj-8ENVEb-8ENVYu-8Ubqau-aMuGYc-9FgnLf

• http://www.flickr.com/photos/60317050@N08/8735098936/in/photolist-eiTEA5-86Wb8N-9dnfuP-bPN8PD-bqAMAU-7J9DM3-9nghvm-9zoEpY-7J5GAX-bDxg4v-9sTWHH-bR9oLV-ax5ZrM-ax8F2B-axbo7J-ax8F6t-9d6if2-ax8H9A-ax61h6-ax8GwU-ax8HhA-ax8FXS-ax8Gno-ax5ZzF-ax612F-ax8GRm-ax61vF-ax5Z2T-ax5ZD8-ax61n2-ax8FEu-ax8GpW-ax61oH-ax8via-ax8GjY-ax5Z8T-ax614v-ax61BP-ax61cX-ax8H1A-ax8Hbb-ax8FUd-ax5ZdM-axbdk9-ax8H7s-ax61f2-ax8GBo-ax8Gg5-ax8vjH-ax619a-ax8GuG

• http://www.flickr.com/photos/36101700372@N01/118533175/in/photolist-btvMr-btvMV-btvNG-cZNst-fAe3K-k2YXC-nfAia-rzNug-rzNz2-rzNCH-rzNGu-rzNKC-rzNPr-rzNTx-rzNWH-2Jcbeo-3JrHhh-4kRTBW-4MiqXn-4Tu5KR-4Tu5Nn-4Tu5Qp-4Tu5Wi-4Tu5WZ-4Tu5YP-4Tu6cP-4Tu6pk-4Tyic9-4TyipS-4TyirS-4TyisJ-4Tyiuy-5DWfaD-5QVV7Q-6rUsDX-6CfoT4-6J9HfP-6J9HEv-6LyNV4-6NUg9e-6NYqwh-6NYrn5-6SYi6G-6UTkEz-6UTkS4-6UXq8Y-6UXqfE-73qzea-7efoZa-7xdQyH-7xdQJX

• http://www.flickr.com/photos/kennysarmy/6318447093/

• http://www.flickr.com/photos/49835901@N00/1493377591/in/photolist-3gXX8v-3KsoCc-3Zd9d2-4bPFUR-4cZqH4-4gCgwn-4jWqei-4k1sVo-4sFkee-4FjisX-4KJMZH-4L8eTZ-4L8fWp-4Lcwd9-4SrtWe-4SxziS-5g2LRH-5iahV3-5jowbd-5rW1Uz-5tgwom-5wgc6H-5DSs8i-5DWHQU-5KUNJA-5XLPKK-63yLkt-63yMfc-63yN96-63yNy6-67K2V7-69p1R6-6hgkPZ-6hvgxv-6uyz2m-6ATdwA-6EMm6L-6LzBuW-6NtqMH-6QoRtH-6QUz9C-6SttAQ-6SYzaB-6TEDt6-6TRB3e-6WxGtg-72uRAq-797jqv-79bc1S-7hcGmZ-7hcJDT

• http://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Pair_programming_1.jpg/330px-Pair_programming_1.jpg

• http://www.flickr.com/photos/shazwildcat/194598532/

• http://www.flickr.com/photos/61583247@N02/7165647503/in/photolist-bVcPmB-7YCoNN-86CWGz-7EPsgR-9LWhYW-8ygPDT-7ZjcDY-9fbyxe-99SBXc-8bkhso-7ERQvW-7ZXWAV-cgHim3-8xpVNx-8bp4WW-8bp54L-9VeqaQ-dU7qJR-aDvbdN-98b9oC-dSYHm3-7EMZqx-8Pr6KH

• http://www.flickr.com/photos/36954268@N07/4979677941/in/photolist-8A39Le-93ijDd-ajeBZJ-9cgidv-9rDzfq-d7yfZ9-7Ln9a3-dGZoqq-aqvWXT-aqvX6z-dkpYrM-aZLu7T-bZiZxm-da7Ds1

• http://www.flickr.com/photos/39746512@N05/6247886040/in/photolist-aw73R7-7A1eJR-au9zXP-8YEx8Q-95M6eV-dRHBt5-9XR3hX-b7tYBk-bD74dY-7JQBDC-926Buh-axWZGa-axZFPy-bV5LVJ-8CRu1o-aQUb7g-8BaTMn-8BaTKB-ejcmDC-ej6ahP-ej6BCR-ejcmAU-ej6ah4-93r6JH-93rcb4-93r8bn-93ujEh-93r7kF-93up2w-93ucGJ

• http://www.flickr.com/photos/mofetos/435827739/sizes/q/in/photolist-EvJpn-EMYiS-NAL1W-TJPWw-X6KgU-2dh7t6-2gg8am-3ggCH6-3gXx9o-3md3RX-3nKGv3-3GNnmD-3GYWn8-3W6cUV-4aaNm5-4dWuxN-4eQ5Ff-4fHiAW-4gwkUT-4rwGdv-4uZgcN-4w6VC6-4zo19a-4CnnkW-4DQ9Qo-4EtoSE-4HdCKB-4JvJxe-4QK9DY-4RCuFM-4RGKKa-4StokJ-4XK3A8-4YuKBm-53w41S-53EzGm-551kGR-57Ebk3-57Ebk7-5fw6rw-5qG5S8-5tJdKt-5tNzw9-5tNABy-5BJN4Z-5Gahed-5GquTb-5JVs1R-5JWpzf-5Kyk7w-5M1ac7/

• http://www.flickr.com/photos/ckowalik/2272008761/sizes/o/in/photolist-4sLD3R-4uu8D9-4vEggt-4w9tXh-4xfXmu-4C4uT7-4EDyQM-4J7ztv-4J7zHP-4J7zLP-4J7zP8-4J7zW6-4J7Ae6-4J7AgX-4J7Aor-4J7Ar8-4J7AtP-4J7AG4-4J7B5X-4J7Bap-4J7BiB-4J7BmZ-4J7BYZ-4J7Car-4J7Cda-4J7Cwe-4J7CBF-4J7CGZ-4J7CNz-4JbPg9-4JbPjm-4JbPnm-4JbPym-4JbPBu-4JbPJQ-4JbPTs-4JbQ2Q-4JbQf7-4JbQkL-4JbQru-4JbQuf-4JbQFW-4JbR4J-4JbR7s-4JbRcJ-4JbRfs-4JbRj9-4JbRmJ-4JbRpw-4JbRv3-4JbRyd/

Donnerstag, 14. November 13