pair programming mythbusters
DESCRIPTION
Aussagen wie "Pair Programming ist langsam", "Pair Programming ist nur was für Junior Entwickler zum Übertragen von Domainwissen", "Pair Programming verbrennt zu viele Resourcen und ist nichts für mein Projekt", "Meine Tasks sind zu komplex fürs Pair Programming" oder "Im Moment haben wir keine Zeit fürs Pair Programming, wir müssen liefern (fertig werden)" werden oft als Argumente gegen Pair Programming vorgebracht. Mit diesem Talk/Webinar möchte Martin Ruprecht den Aussagen entgegentreten und seine Erfahrungen aus den letzten Kundenprojekten weitergeben und zeigen, wann Pair Programming sinnvoll eingesetzt werden kann und warum in jedem Projekt im Pair programmiert werden sollte. Zielgruppe: Wenn Sie Entwickler oder Projektverantwortlicher sind, dann ist dieser Talk/dieses Webinar genau richtig für Sie. Über Martin Ruprecht: Martin Ruprecht arbeitet seit mehreren Jahren bei Mayflower und ist JavaScript und PHP-Entwickler. Zuvor studierte er erfolgreich Medientechnik/Medieninformatik an der FH Deggendorf. Neben seiner Tätigkeit als Entwickler bei Mayflower organisiert Martin regelmäßig Coding Dojos in München, tritt auf Konferenzen auf und hält Vorträge und Workshops zum Thema JavaScript, Testing und Qualitätssicherung in Webprojekten.TRANSCRIPT
© 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
• #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 MatrixDienstag, 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
#mrupilo
Feedback please!
Dienstag, 11. Juni 13
Vielen Dank für Ihre Aufmerksamkeit!
© 2010 Mayflower GmbH
Kontakt Martin [email protected]+49 89 24 20 54 1116
Mayflower GmbHMannhardtstr. 680538 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-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/
Dienstag, 11. Juni 13