SlideShare a Scribd company logo
ペアプログラミング
 ホントのところ

和田 卓人 (a.k.a id:t-wada or @t_wada)
  Oct 28, 2012 @ Scrum 道 Expo
自己紹介
名前:     和田 卓人 (わだ たくと)

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

メール: takuto.wada@gmail.com

Twitter: http://twitter.com/t_wada

タワーズ・クエスト株式会社
取締役社長
問い: ペアプログラミ
ングを導入するべき
     か否か
It depends.
(それは状況によるね)
ペアプログラミン
  グって何?
ペアプログラミング ホントのところ
David         Me!
Chelimsky




2人で1つのマシン、1つのキーボード
ペアプロ : Pair Programming
                              Vim vs.
                              Emacs




キーボード                        ナビと
押し / 引き                     ドライバー
           http://www.flickr.com/photos/un-sharp/3696119774/
ペアプログラミングの利点



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.
 (それは状況によるね。
でもやってみる価値はあるよ)
ご清聴ありがとうございました

More Related Content

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