ペアプログラミング ホントのところ
DESCRIPTION
『ペアプログラミング ホントのところ』2012/10/28 Scrum 道 ExpoTRANSCRIPT
ペアプログラミングホントのところ
和田 卓人 (a.k.a id:t-wada or @t_wada)Oct 28, 2012 @ Scrum 道 Expo
自己紹介名前: 和田 卓人 (わだ たくと)
ブログ: http://d.hatena.ne.jp/t-wada
メール: [email protected]
Twitter: http://twitter.com/t_wada
タワーズ・クエスト株式会社 取締役社長
問い: ペアプログラミングを導入するべき
か否か
It depends.(それは状況によるね)
ペアプログラミングって何?
2人で1つのマシン、1つのキーボード
DavidChelimsky
Me!
http://www.flickr.com/photos/un-sharp/3696119774/
ナビとドライバー
キーボード押し / 引き
ペアプロ : Pair ProgrammingVim vs.Emacs
1. Increased discipline (規律の強化)2. Better code (より良いコード)3. Resilient flow (快活なフロー状態)4. Improved morale (楽しさによるチームの士気向上)
ペアプログラミングの利点
http://c2.com/cgi/wiki?PairProgrammingBenefits
5. Collective code ownership (コードの共同所有)
6. Mentoring (学習効果)7. Team cohesion (チームの一体化)8. Fewer interruptions (割り込み削減)
ペアプログラミングの利点
http://c2.com/cgi/wiki?PairProgrammingBenefits
きのこ80: 1人より2人
if ( 自分の知識 < 相手の知識 ) {
相手から多くのことを学べる
} else if ( 自分の知識 >= 相手の知識 ) {
教えることで知識が整理される
}
=> 必ず両者がお互いから何かを学ぶことが
できる
“コードレビューの問題点を解決する方法の1つはペアプログラミングだと思います。
不思議なもので、書き終えたコードの指摘をされ修正することは気分がよくないのですが、書き終える前に指摘されより良いコードとしていくならばむしろ気分が良いものです”
http://d.hatena.ne.jp/shuji_w6e/20110103/1294038245
コードレビューとペアプロ
Thinking out loud: 考えを声に出す
http://c2.com/cgi/wiki?ThinkingOutLoud
http://c2.com/cgi/wiki?RubberDucking
ペアプロが機能しない場合もある
10. 管理者はハードウェアへの投資をしたくない
9. 現場がペアプログラミングに最適化されてない
8. 現場では従来型の雇用方法を採用している
7. 現場では反社会的な行動を大目に見る
6. ペア作業の生産性が理解されていない
ペアプロが機能しない理由
http://www.infoq.com/jp/news/2009/09/obie-pairing-not-for-everyone
5. 現場では適格でない開発者を雇っている
4. 現場で過労と人員不足に陥っている
3. 開発者は、一緒に仕事をしている人たち全員を好いているわけではない
2. 開発者はそのような面倒なことをしたいと思わない
1. たいていのソフトウェアの現場では、優秀さのことを本当には気に懸けていない
ペアプロが機能しない理由
http://www.infoq.com/jp/news/2009/09/obie-pairing-not-for-everyone
ペアプログラミングとエゴの問題
http://twitter.com/kakutani/status/10937578614169600
1. 自分が誤りを犯すということを理解し、受け入れること。
2. 自分と自分のコードは別物である。3. どんなに「空手」を学ぼうと、いつでもあなたよりもっと詳しい人間がいる。
4. 相談せずにコードの書き直しをしない。5. 自分より無知な人に対しても尊敬と敬意と忍耐を持って接すること。
ワインバーグの「エゴレスプログラミングの十戒」
http://www.aoky.net/articles/jeff_atwood/top_6_list_of_programming_top_10_lists.htm
6. 世界で唯一変わらないのは変わるということだけ。
7. 唯一本当の権威は、地位ではなく知識より生ずる。
8. 自分で正しいと思うことのために戦うこと。しかし負けは潔く認めること。
9. 「部屋に籠りきりのやつ」にはなるな。10. 人ではなくコードを批判すること。コーダーには優しく、コードには厳しく。
ワインバーグの「エゴレスプログラミングの十戒」
http://www.aoky.net/articles/jeff_atwood/top_6_list_of_programming_top_10_lists.htm
問い: ペアプログラミングを導入するべき
か否か
It depends.(それは状況によるね)
“ペアプログラミングに強硬に反対する開発者の驚くほどの多くは、実際には試みたことが無く、一旦試せば即座に気に入って身に着けてしまう”
『塹壕より Scrum と XP』p.88
http://www.infoq.com/jp/minibooks/scrum-xp-from-the-trenches
http://www.flickr.com/photos/recompile_net/3298985098/
事実、ペアプロは楽しい。
It depends.But worth doing.(それは状況によるね。
でもやってみる価値はあるよ)
ご清聴ありがとうございました