SlideShare a Scribd company logo
1 of 65
Download to read offline
© 2010 Mayflower GmbH
Martin Ruprecht I 11. Juni 2010
Pair Programming Mythbusters
Dienstag, 11. Juni 13
Wer bin ich?
• Martin Ruprecht
• PHP/ JS- Entwickler bei Mayflower in
München
• martin.ruprecht@mayflower.de
• #mrupilo
Dienstag, 11. Juni 13
Pair Programming
Mythen, Fehler & Tipps + Tricks
Dienstag, 11. Juni 13
„Pair Programming ist langsam!“
Mythos #1
©pk210
Dienstag, 11. Juni 13
„Pair Programming ist schneller!“
© Thomas Helbig
Dienstag, 11. Juni 13
„Pair Programming ist schneller!“
Dienstag, 11. Juni 13
Mythos #2
„Pair Programming verbrennt
zu viele Resourcen und ist
nichts für mein Projekt!“
© Images of Money
Dienstag, 11. Juni 13
Kosten
Zeit
Pair Programming
klassische
Entwicklung
„Pair Programming ist effektiver!“
Dienstag, 11. Juni 13
„Pair Programming ist nur was für Junior-
Entwickler um Wissen zu übertragen!“
Mythos #3
© Christoph Polus
Dienstag, 11. Juni 13
Wissensaustausch findet in beide
Richtungen statt!
Dienstag, 11. Juni 13
„Meine Tasks sind zu komplex
fürs Pair Programming!“
Mythos #4
© Enrico Strocchi
Dienstag, 11. Juni 13
Bei komplexen Aufgaben muss im
Pair programmiert werden!
© Charles Rincheval
Dienstag, 11. Juni 13
„Im Moment haben wir keine Zeit fürs
Pair Programming- wir müssen liefern!“
Mythos #5
© Alan Dayley
Dienstag, 11. Juni 13
Pair Programming ist schnell!
© Zach Dill
Dienstag, 11. Juni 13
Pair Testing ist schnell!
© Zach Dill
Dienstag, 11. Juni 13
Pair Debugging ist schnell!
© Zach Dill
Dienstag, 11. Juni 13
Pair Bugfixing ist schnell!
© Zach Dill
Dienstag, 11. Juni 13
„Pair Programming löst all
unsere Probleme!“
Mythos #6
© Shell Eco-Marathon
Dienstag, 11. Juni 13
ähh- Sorry!
© Ken Conley
Dienstag, 11. Juni 13
„Im Pair geschriebener Code ist
IMMER besser!“
Mythos #7
© kennysarmy
Dienstag, 11. Juni 13
Nein!
© Angelica Portales
Dienstag, 11. Juni 13
Verzichte nie auf QA!
Dienstag, 11. Juni 13
Fehler im Pair
Programming
Dienstag, 11. Juni 13
Navigator nervt
Fehler
© Wikipedia
Dienstag, 11. Juni 13
Der Navigator ist nicht
zur Prüfung der
korrekten Syntax da!
Dienstag, 11. Juni 13
Der Navigator sollte
bereits einen Schritt
voraus denken!
Dienstag, 11. Juni 13
Driver nervt
Fehler
© Images of Monkey
Dienstag, 11. Juni 13
Der Driver sitzt zwar
an der Tastatur und ist
KEIN Coding Monkey!
Dienstag, 11. Juni 13
Der Driver ist gleichberechtigt
an den Entscheidungen im
Code beteiligt!
Dienstag, 11. Juni 13
Bereits
getroffene
Entscheidungen
werden negativ
bewertet
Fehler
© Collin Jenkins
Dienstag, 11. Juni 13
Entscheidungen werden
gemeinsam getroffen!
Dienstag, 11. Juni 13
Navigator wechselt eigenständig in die
Driver Rolle
Fehler
© Marianne Muegenburg Cothem
Dienstag, 11. Juni 13
Respektiere deinen
Partner und halte dich
an die Regeln!
Dienstag, 11. Juni 13
Driver startet mit der Implementierung
ohne Navigator
Fehler
Dienstag, 11. Juni 13
Respektiere deinen
Partner und halte dich
an die Regeln!
Dienstag, 11. Juni 13
Es findet keine Kommunikation statt
Fehler
© Dr Zoidberg
Dienstag, 11. Juni 13
Pair Programming lebt
von der Kommunikation
der beiden Partner!
Dienstag, 11. Juni 13
Weitere
Herausforderungen
Dienstag, 11. Juni 13
Verhältnis
zwischen Driver
und Navigator
ist angespannt
Herausforderungen
Dienstag, 11. Juni 13
Häufiger
Perspektivenwechsel
hilft den Partnern
Verhältnis zwischen Driver und Navigator ist angespannt
Dienstag, 11. Juni 13
Klare Regeln definieren
Verhältnis zwischen Driver und Navigator ist angespannt
Dienstag, 11. Juni 13
Driver, Navigator,
Coach
Verhältnis zwischen Driver und Navigator ist angespannt
Dienstag, 11. Juni 13
Andere, freundliche,
„neutrale“ Umgebung
auswählen
Verhältnis zwischen Driver und Navigator ist angespannt
Dienstag, 11. Juni 13
Toleriere und wertschätze
die Argumente deines
Partners
Verhältnis zwischen Driver und Navigator ist angespannt
Dienstag, 11. Juni 13
Wissen ist nicht
gleich verteilt
Herausforderungen
Dienstag, 11. Juni 13
Vorher definierte Aufgaben
geben die Möglichkeit sich
in ein Thema einzuarbeiten!
Wissen ist nicht gleich verteilt
Dienstag, 11. Juni 13
„Mentoren“ können
beim Wissensaufbau
eines Partners helfen!
Wissen ist nicht gleich verteilt
Dienstag, 11. Juni 13
Körpergerüche
Herausforderungen
Dienstag, 11. Juni 13
Dienstag, 11. Juni 13
Tipps
Dienstag, 11. Juni 13
Plane Pair Programming
fix in deinen Tagesablauf
mit ein!
Tipps
Dienstag, 11. Juni 13
1 täglich für 25- 30min.
Dienstag, 11. Juni 13
„Pair Programming
Sessions“
(à 2 Std)
Dienstag, 11. Juni 13
Partner sollten nicht vom
Management bestimmt
werden!
Tipps
Dienstag, 11. Juni 13
Pair Stair / Pair Matrix
Dienstag, 11. Juni 13
Pairing auch beim
Design, Testen,
Debuggen...
Tipps
Dienstag, 11. Juni 13
TDD
Tipps
Dienstag, 11. Juni 13
Test Driven Development
eignet sich optimal fürs
Pair Programming!
Dienstag, 11. Juni 13
Übung!
Tipps
Dienstag, 11. Juni 13
Im Coding Dojos lässt sich mit
Code Katas
hervorragend Pair
Programming trainieren!
Dienstag, 11. Juni 13
„... komm wir machens
jetzt einfach mal!“
Tipps
Dienstag, 11. Juni 13
© 2010 Mayflower GmbH
Fragen?
Dienstag, 11. Juni 13
© 2010 Mayflower GmbH
martin.ruprecht@mayflower.de
#mrupilo
Feedback please!
Dienstag, 11. Juni 13
Vielen Dank für Ihre Aufmerksamkeit!
© 2010 Mayflower GmbH
Kontakt Martin Ruprecht
martin.ruprecht@mayflower.de
+49 89 24 20 54 1116
Mayflower GmbH
Mannhardtstr. 6
80538 München
Dienstag, 11. Juni 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-7ef
mgN-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-8ieH
ZG-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-6XB7h
G-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-6J9Hf
P-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-5w
gc6H-5DSs8i-5DWHQU-5KUNJA-5XLPKK-63yLkt-63yMfc-63yN96-63yNy6-67K2V7-69p1R6-6hgkPZ-6hvgxv-6uyz2m-6ATdwA-6EMm6L-6LzBuW-6NtqMH-6QoRtH-6QUz9C-6SttAQ-6SYza
B-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/
Dienstag, 11. Juni 13

More Related Content

Viewers also liked

Vom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftVom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftMayflower GmbH
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: SecurityMayflower GmbH
 
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mayflower GmbH
 
The innerHTML Apocalypse
The innerHTML ApocalypseThe innerHTML Apocalypse
The innerHTML ApocalypseMario Heiderich
 
Personas: The Cause of, and Solution to, All of Life's Problems
Personas: The Cause of, and Solution to, All of Life's ProblemsPersonas: The Cause of, and Solution to, All of Life's Problems
Personas: The Cause of, and Solution to, All of Life's ProblemsUXPA Boston
 
RxJS + Redux + React = Amazing
RxJS + Redux + React = AmazingRxJS + Redux + React = Amazing
RxJS + Redux + React = AmazingJay Phelps
 
Das agile Team - Der holprige Weg zur Selbstorganisation. Erfahrungsbericht a...
Das agile Team - Der holprige Weg zur Selbstorganisation. Erfahrungsbericht a...Das agile Team - Der holprige Weg zur Selbstorganisation. Erfahrungsbericht a...
Das agile Team - Der holprige Weg zur Selbstorganisation. Erfahrungsbericht a...Fanny Pittack
 
Einführen agiles publishing
Einführen agiles publishingEinführen agiles publishing
Einführen agiles publishingMartin Oberholzer
 

Viewers also liked (8)

Vom Entwickler zur Führungskraft
Vom Entwickler zur FührungskraftVom Entwickler zur Führungskraft
Vom Entwickler zur Führungskraft
 
JavaScript Days 2015: Security
JavaScript Days 2015: SecurityJavaScript Days 2015: Security
JavaScript Days 2015: Security
 
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
Mit Maintenance umgehen können- Fixt du noch Bugs oder lieferst du schon neue...
 
The innerHTML Apocalypse
The innerHTML ApocalypseThe innerHTML Apocalypse
The innerHTML Apocalypse
 
Personas: The Cause of, and Solution to, All of Life's Problems
Personas: The Cause of, and Solution to, All of Life's ProblemsPersonas: The Cause of, and Solution to, All of Life's Problems
Personas: The Cause of, and Solution to, All of Life's Problems
 
RxJS + Redux + React = Amazing
RxJS + Redux + React = AmazingRxJS + Redux + React = Amazing
RxJS + Redux + React = Amazing
 
Das agile Team - Der holprige Weg zur Selbstorganisation. Erfahrungsbericht a...
Das agile Team - Der holprige Weg zur Selbstorganisation. Erfahrungsbericht a...Das agile Team - Der holprige Weg zur Selbstorganisation. Erfahrungsbericht a...
Das agile Team - Der holprige Weg zur Selbstorganisation. Erfahrungsbericht a...
 
Einführen agiles publishing
Einführen agiles publishingEinführen agiles publishing
Einführen agiles publishing
 

More from Mayflower GmbH

Salt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientSalt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientMayflower GmbH
 
Plugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingPlugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingMayflower GmbH
 
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...Mayflower GmbH
 
Shoeism - Frau im Glück
Shoeism - Frau im GlückShoeism - Frau im Glück
Shoeism - Frau im GlückMayflower GmbH
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefernMayflower GmbH
 
Von 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsVon 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsMayflower GmbH
 
Piwik anpassen und skalieren
Piwik anpassen und skalierenPiwik anpassen und skalieren
Piwik anpassen und skalierenMayflower GmbH
 
Agilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastAgilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastMayflower GmbH
 
Mongo DB - Segen oder Fluch
Mongo DB - Segen oder FluchMongo DB - Segen oder Fluch
Mongo DB - Segen oder FluchMayflower GmbH
 
Test-Driven JavaScript Development IPC
Test-Driven JavaScript Development IPCTest-Driven JavaScript Development IPC
Test-Driven JavaScript Development IPCMayflower GmbH
 
PHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit ComposerPHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit ComposerMayflower GmbH
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenMayflower GmbH
 
Max Köhler - Real-Time-Monitoring
Max Köhler - Real-Time-MonitoringMax Köhler - Real-Time-Monitoring
Max Köhler - Real-Time-MonitoringMayflower GmbH
 
Yii - Next level PHP Framework von Florian Facker
Yii - Next level PHP Framework von Florian FackerYii - Next level PHP Framework von Florian Facker
Yii - Next level PHP Framework von Florian FackerMayflower GmbH
 
REST - Hypermedia und Sicherheit
REST - Hypermedia und SicherheitREST - Hypermedia und Sicherheit
REST - Hypermedia und SicherheitMayflower GmbH
 

More from Mayflower GmbH (20)

Why and what is go
Why and what is goWhy and what is go
Why and what is go
 
Produktive teams
Produktive teamsProduktive teams
Produktive teams
 
Salt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native ClientSalt and pepper — native code in the browser Browser using Google native Client
Salt and pepper — native code in the browser Browser using Google native Client
 
Plugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debuggingPlugging holes — javascript memory leak debugging
Plugging holes — javascript memory leak debugging
 
Rewrites überleben
Rewrites überlebenRewrites überleben
Rewrites überleben
 
JavaScript Security
JavaScript SecurityJavaScript Security
JavaScript Security
 
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
50 mal produktiver - oder warum ich gute Teams brauche und nicht gute Entwick...
 
Shoeism - Frau im Glück
Shoeism - Frau im GlückShoeism - Frau im Glück
Shoeism - Frau im Glück
 
Bessere Software schneller liefern
Bessere Software schneller liefernBessere Software schneller liefern
Bessere Software schneller liefern
 
Von 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 SprintsVon 0 auf 100 in 2 Sprints
Von 0 auf 100 in 2 Sprints
 
Piwik anpassen und skalieren
Piwik anpassen und skalierenPiwik anpassen und skalieren
Piwik anpassen und skalieren
 
Agilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce BreakfastAgilitaet im E-Commerce - E-Commerce Breakfast
Agilitaet im E-Commerce - E-Commerce Breakfast
 
Mongo DB - Segen oder Fluch
Mongo DB - Segen oder FluchMongo DB - Segen oder Fluch
Mongo DB - Segen oder Fluch
 
Schnelle Geschäfte
Schnelle GeschäfteSchnelle Geschäfte
Schnelle Geschäfte
 
Test-Driven JavaScript Development IPC
Test-Driven JavaScript Development IPCTest-Driven JavaScript Development IPC
Test-Driven JavaScript Development IPC
 
PHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit ComposerPHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit Composer
 
HTML5 und node.js Grundlagen
HTML5 und node.js GrundlagenHTML5 und node.js Grundlagen
HTML5 und node.js Grundlagen
 
Max Köhler - Real-Time-Monitoring
Max Köhler - Real-Time-MonitoringMax Köhler - Real-Time-Monitoring
Max Köhler - Real-Time-Monitoring
 
Yii - Next level PHP Framework von Florian Facker
Yii - Next level PHP Framework von Florian FackerYii - Next level PHP Framework von Florian Facker
Yii - Next level PHP Framework von Florian Facker
 
REST - Hypermedia und Sicherheit
REST - Hypermedia und SicherheitREST - Hypermedia und Sicherheit
REST - Hypermedia und Sicherheit
 

Pair Programming Mythbusters