Pair Programming Mythbusters

Preview:

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.

Citation preview

© 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 MatrixDienstag, 11. Juni 13

Pairing auch beim Design, Testen,

Debuggen...

Tipps

Dienstag, 11. Juni 13

Test Driven Development eignet sich optimal fürs

Pair Programming!

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 Ruprechtmartin.ruprecht@mayflower.de+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

Recommended