ペアプログラミング ホントのところ

26
ペアプログラミング ホントのところ 和田 卓人 (a.k.a id:t-wada or @t_wada) Oct 28, 2012 @ Scrum 道 Expo

Upload: takuto-wada

Post on 29-Nov-2014

14.131 views

Category:

Technology


1 download

DESCRIPTION

『ペアプログラミング ホントのところ』2012/10/28 Scrum 道 Expo

TRANSCRIPT

Page 1: ペアプログラミング ホントのところ

ペアプログラミングホントのところ

和田 卓人 (a.k.a id:t-wada or @t_wada)Oct 28, 2012 @ Scrum 道 Expo

Page 2: ペアプログラミング ホントのところ

自己紹介名前: 和田 卓人 (わだ たくと)

ブログ: http://d.hatena.ne.jp/t-wada

メール: [email protected]

Twitter: http://twitter.com/t_wada

タワーズ・クエスト株式会社 取締役社長

Page 3: ペアプログラミング ホントのところ

問い: ペアプログラミングを導入するべき

か否か

Page 4: ペアプログラミング ホントのところ

It depends.(それは状況によるね)

Page 5: ペアプログラミング ホントのところ

ペアプログラミングって何?

Page 6: ペアプログラミング ホントのところ
Page 7: ペアプログラミング ホントのところ

2人で1つのマシン、1つのキーボード

DavidChelimsky

Me!

Page 8: ペアプログラミング ホントのところ

http://www.flickr.com/photos/un-sharp/3696119774/

ナビとドライバー

キーボード押し / 引き

ペアプロ : Pair ProgrammingVim vs.Emacs

Page 9: ペアプログラミング ホントのところ

1. Increased discipline (規律の強化)2. Better code (より良いコード)3. Resilient flow (快活なフロー状態)4. Improved morale (楽しさによるチームの士気向上)

ペアプログラミングの利点

http://c2.com/cgi/wiki?PairProgrammingBenefits

Page 10: ペアプログラミング ホントのところ

5. Collective code ownership (コードの共同所有)

6. Mentoring (学習効果)7. Team cohesion (チームの一体化)8. Fewer interruptions (割り込み削減)

ペアプログラミングの利点

http://c2.com/cgi/wiki?PairProgrammingBenefits

Page 11: ペアプログラミング ホントのところ

きのこ80: 1人より2人

if ( 自分の知識 < 相手の知識 ) {

相手から多くのことを学べる

} else if ( 自分の知識 >= 相手の知識 ) {

教えることで知識が整理される

}

=> 必ず両者がお互いから何かを学ぶことが

できる

Page 12: ペアプログラミング ホントのところ

“コードレビューの問題点を解決する方法の1つはペアプログラミングだと思います。

不思議なもので、書き終えたコードの指摘をされ修正することは気分がよくないのですが、書き終える前に指摘されより良いコードとしていくならばむしろ気分が良いものです”

http://d.hatena.ne.jp/shuji_w6e/20110103/1294038245

コードレビューとペアプロ

Page 13: ペアプログラミング ホントのところ

Thinking out loud: 考えを声に出す

http://c2.com/cgi/wiki?ThinkingOutLoud

http://c2.com/cgi/wiki?RubberDucking

Page 14: ペアプログラミング ホントのところ

ペアプロが機能しない場合もある

Page 15: ペアプログラミング ホントのところ

10. 管理者はハードウェアへの投資をしたくない

9. 現場がペアプログラミングに最適化されてない

8. 現場では従来型の雇用方法を採用している

7. 現場では反社会的な行動を大目に見る

6. ペア作業の生産性が理解されていない

ペアプロが機能しない理由

http://www.infoq.com/jp/news/2009/09/obie-pairing-not-for-everyone

Page 16: ペアプログラミング ホントのところ

5. 現場では適格でない開発者を雇っている

4. 現場で過労と人員不足に陥っている

3. 開発者は、一緒に仕事をしている人たち全員を好いているわけではない

2. 開発者はそのような面倒なことをしたいと思わない

1. たいていのソフトウェアの現場では、優秀さのことを本当には気に懸けていない

ペアプロが機能しない理由

http://www.infoq.com/jp/news/2009/09/obie-pairing-not-for-everyone

Page 17: ペアプログラミング ホントのところ

ペアプログラミングとエゴの問題

Page 19: ペアプログラミング ホントのところ

1. 自分が誤りを犯すということを理解し、受け入れること。

2. 自分と自分のコードは別物である。3. どんなに「空手」を学ぼうと、いつでもあなたよりもっと詳しい人間がいる。

4. 相談せずにコードの書き直しをしない。5. 自分より無知な人に対しても尊敬と敬意と忍耐を持って接すること。

ワインバーグの「エゴレスプログラミングの十戒」

http://www.aoky.net/articles/jeff_atwood/top_6_list_of_programming_top_10_lists.htm

Page 20: ペアプログラミング ホントのところ

6. 世界で唯一変わらないのは変わるということだけ。

7. 唯一本当の権威は、地位ではなく知識より生ずる。

8. 自分で正しいと思うことのために戦うこと。しかし負けは潔く認めること。

9. 「部屋に籠りきりのやつ」にはなるな。10. 人ではなくコードを批判すること。コーダーには優しく、コードには厳しく。

ワインバーグの「エゴレスプログラミングの十戒」

http://www.aoky.net/articles/jeff_atwood/top_6_list_of_programming_top_10_lists.htm

Page 21: ペアプログラミング ホントのところ

問い: ペアプログラミングを導入するべき

か否か

Page 22: ペアプログラミング ホントのところ

It depends.(それは状況によるね)

Page 23: ペアプログラミング ホントのところ

“ペアプログラミングに強硬に反対する開発者の驚くほどの多くは、実際には試みたことが無く、一旦試せば即座に気に入って身に着けてしまう”

『塹壕より Scrum と XP』p.88

http://www.infoq.com/jp/minibooks/scrum-xp-from-the-trenches

Page 24: ペアプログラミング ホントのところ

http://www.flickr.com/photos/recompile_net/3298985098/

事実、ペアプロは楽しい。

Page 25: ペアプログラミング ホントのところ

It depends.But worth doing.(それは状況によるね。

でもやってみる価値はあるよ)

Page 26: ペアプログラミング ホントのところ

ご清聴ありがとうございました