アカウント名:
パスワード:
昔数回ペアプログラミングをした事が有りますが、そのとき感じた事をいくつか。ちなみにパートナーを状況を見て適宜変更したりしてました。
ドライバーとナビゲーターの技術レベルが離れすぎると出力は下がります。(但し本来の出力向上目的でなく、教育を期待する場合は適していると思われます)
性格的相性は考慮しないとそのペアの効果が落ちます。(物腰や言い方を気にする人は結構います)プライドの高い人や、劣等感を感じやすい人はペアプロに向きませんね。私は一回り下の人間とペアプロはすごく楽しかったけどなぁ。
新規コードよりもリファクタリングの方が効果は高かったです。(私がしきった時は、新規コードや技術的調査は、一旦シングルでそれぞれ疑似コードや調査結果を書き出して、ペアで検討しつつ実装してました)
参加者自身にペアプロに対する理解が必須だと思います。(思いつきだけでヨーイドンしても効果はほぼないでしょう)私の時は各人が日頃からXP他、仕事の仕方についての討議をしているような意識の高い環境下だったので、ペアプロで実績作って認めさせてやるぜ!ってのもありましたが。
管理者がペアプログラミングを理解し、支援してくれないと厳しい。よく言われるのが人件費が単純に増えるじゃーん(いや倍用意しろとか言ってないから) or2人で1台じゃ出力1/2じゃーん(ペアがシングルと同等かより良くなる事を説得するのに苦労した。最終的にPgリーダーが俺が責任取るからやらせて!でGo)
副次的効果ワインバーグかな? 職場で趣味で皮加工をしている人の臭いがどうのこうのって話がありましたが、ペアプロ始めてから人員の服装や臭いに関しての意識があがりました。また各自机の上の片付けが自然と進みましたね。パートナーを適宜変更していたので、各自の持つノウハウや知識がチーム全体に伝播していきました。
総じて効果はありますし、実際スケジュールも遵守した上で品質的にもよいものができたと自負しています。
#残念ながら後にチームは解散分割のうえ、新チームの進行は旧態依然に戻るっていうね#長文すんません#へたれなので当然AC
>(思いつきだけでヨーイドンしても効果はほぼないでしょう)
をみて、「エドワード・ヨードン意味ないかな。絶対読んだほうがいいと思うんだけど」と思ってしまいました。
ペアプログラミング大変興味あるので、主に物理的なことなんですが、ぜひお教えください。
・PCやキーボードの数やレイアウトはどうされましたか? 一人使いの、画面と面と向かった体勢が変わったり、画面からの 距離や角度が変るともろもろ違和感がでると思われますが どうだったのでしょう。フォントは大きいものに変えますか? それとも二人並んでリモートデスクトップ的なもので?
・二人の好むエディタが異なる場合はどうなるのですか? これは役割を固定すれば問題ないのかな? 「ちょっと貸してみろ」ってな 展開になったらどうなるんだろ。
プログラミングに限らず、他人の操作を眺めて自分の知らないショートカットや操作テクニック・ツール他学ぶことは多いと思うんだが、なかなか流行りませんね。
体験談を書いた者です。
PCは二人で1台(ドライバーアカウントでログイン)、机の3段引き出し部が別な机なので、それを移動して二人分椅子を並べるスペース確保(ナビゲーターの位置は左右任意)。リモートデスクトップで2台は個人的には推奨しません。同じコードを同じタイミングで見ている事が重要かと。体制によってはナビゲーターが身を乗り出すような事にもなりますが、その辺りは各ペア調整しつつやってました。
エディタはドライバーが使いたいものを使用、フォントはペア次第。基本的にペアを進めるのに問題ないように、それぞれ調整してねという感じです。ちなみにエディタをはじめ、ツール類もこれがいい、あれが便利って形で伝播していきましたね。
>プログラミングに限らず、他人の操作を眺めて自分の知らないショートカットや>>操作テクニック・ツール他学ぶことは多いと思うんだが、なかなか流行りませんね。
様々な小さいけど有用なTipsが伝播していくのは見てて楽しかったです。
後いろいろ補足管理者側、ペア側両方体験しましたが、管理者の時は各ペアの状況を毎日細かくチェックしてました。うまくいってないペアの調停や、詰まっているペアがいたら別の作業をふって詰まっている件については調査するとか、とにかくペアの進行を停滞させない事を心がけました。
後ルールとして、チーム内コーディング規約の遵守、ドライバーとナビゲーターは日替わりで交代、2時間ごとに10分以上の休憩、4セット8時間強超えたらその日の業務終了とかですかね。真面目にペアを一日やると本当に疲れます。それだけ集中していたという事ですが。お願い後ちょっとだけやらせて〜にはロスタイム5分&コミット禁止てな感じで。
ペア側では、ドライバーの時は最初のうちはナビゲーターの確認スピードと合わせる為ゆっくり目に書いていって、互いになれてきたらスピードアップ(マクロ他もだんだんと多用)。書きつつも「ここのロジックいけてる?」とか、常にナビに問い合わせ。適正な突っ込みには即時対応。
ナビの時はコーディングスタイルから外れていたら即突っ込み、括弧の閉じ忘れや安易なコピペも容赦なく突っ込み、ロジックに関しても本当にそれで大丈夫?と再確認させる為の突っ込みと突っ込み三昧でした。
毎日心地よい疲れと共に帰宅してましたが、充実した期間ではありました。
>パートナーを適宜変更していたので、各自の持つノウハウや知識がチーム全体に伝播していきました。>残念ながら後にチームは解散分割のうえ、新チームの進行は旧態依然に戻るっていうね
成果は見えない形で会社に残ったのですから上がそれを認識していてくれているならいいですねご感想から推測するに常にとはいかずともたまに実施するだけでもメリットはありそうですし
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy
体験談 (スコア:5, 参考になる)
昔数回ペアプログラミングをした事が有りますが、そのとき感じた事をいくつか。
ちなみにパートナーを状況を見て適宜変更したりしてました。
ドライバーとナビゲーターの技術レベルが離れすぎると出力は下がります。
(但し本来の出力向上目的でなく、教育を期待する場合は適していると思われます)
性格的相性は考慮しないとそのペアの効果が落ちます。(物腰や言い方を気にする人は結構います)
プライドの高い人や、劣等感を感じやすい人はペアプロに向きませんね。
私は一回り下の人間とペアプロはすごく楽しかったけどなぁ。
新規コードよりもリファクタリングの方が効果は高かったです。
(私がしきった時は、新規コードや技術的調査は、一旦シングルでそれぞれ疑似コードや調査結果を書き出して、
ペアで検討しつつ実装してました)
参加者自身にペアプロに対する理解が必須だと思います。(思いつきだけでヨーイドンしても効果はほぼないでしょう)
私の時は各人が日頃からXP他、仕事の仕方についての討議をしているような意識の高い環境下だったので、
ペアプロで実績作って認めさせてやるぜ!ってのもありましたが。
管理者がペアプログラミングを理解し、支援してくれないと厳しい。
よく言われるのが人件費が単純に増えるじゃーん(いや倍用意しろとか言ってないから) or
2人で1台じゃ出力1/2じゃーん(ペアがシングルと同等かより良くなる事を説得するのに苦労した。最終的にPgリーダーが俺が責任取るからやらせて!でGo)
副次的効果
ワインバーグかな? 職場で趣味で皮加工をしている人の臭いがどうのこうのって話がありましたが、
ペアプロ始めてから人員の服装や臭いに関しての意識があがりました。
また各自机の上の片付けが自然と進みましたね。
パートナーを適宜変更していたので、各自の持つノウハウや知識がチーム全体に伝播していきました。
総じて効果はありますし、実際スケジュールも遵守した上で品質的にもよいものができたと自負しています。
#残念ながら後にチームは解散分割のうえ、新チームの進行は旧態依然に戻るっていうね
#長文すんません
#へたれなので当然AC
Re:体験談 (スコア:1)
>(思いつきだけでヨーイドンしても効果はほぼないでしょう)
をみて、「エドワード・ヨードン意味ないかな。絶対読んだほうがいいと思うんだけど」と
思ってしまいました。
Re: (スコア:0)
ペアプログラミング大変興味あるので、主に物理的なことなんですが、
ぜひお教えください。
・PCやキーボードの数やレイアウトはどうされましたか?
一人使いの、画面と面と向かった体勢が変わったり、画面からの
距離や角度が変るともろもろ違和感がでると思われますが
どうだったのでしょう。フォントは大きいものに変えますか?
それとも二人並んでリモートデスクトップ的なもので?
・二人の好むエディタが異なる場合はどうなるのですか?
これは役割を固定すれば問題ないのかな? 「ちょっと貸してみろ」ってな
展開になったらどうなるんだろ。
プログラミングに限らず、他人の操作を眺めて自分の知らないショートカットや
操作テクニック・ツール他学ぶことは多いと思うんだが、なかなか流行りませんね。
Re:体験談 (スコア:1)
体験談を書いた者です。
PCは二人で1台(ドライバーアカウントでログイン)、机の3段引き出し部が別な机なので、それを移動して二人分椅子を並べるスペース確保(ナビゲーターの位置は左右任意)。
リモートデスクトップで2台は個人的には推奨しません。同じコードを同じタイミングで見ている事が重要かと。
体制によってはナビゲーターが身を乗り出すような事にもなりますが、その辺りは各ペア調整しつつやってました。
エディタはドライバーが使いたいものを使用、フォントはペア次第。
基本的にペアを進めるのに問題ないように、それぞれ調整してねという感じです。
ちなみにエディタをはじめ、ツール類もこれがいい、あれが便利って形で伝播していきましたね。
>プログラミングに限らず、他人の操作を眺めて自分の知らないショートカットや>
>操作テクニック・ツール他学ぶことは多いと思うんだが、なかなか流行りませんね。
様々な小さいけど有用なTipsが伝播していくのは見てて楽しかったです。
後いろいろ補足
管理者側、ペア側両方体験しましたが、管理者の時は各ペアの状況を毎日細かくチェックしてました。
うまくいってないペアの調停や、詰まっているペアがいたら別の作業をふって詰まっている件については調査するとか、
とにかくペアの進行を停滞させない事を心がけました。
後ルールとして、チーム内コーディング規約の遵守、ドライバーとナビゲーターは日替わりで交代、2時間ごとに10分以上の休憩、4セット8時間強超えたらその日の業務終了とかですかね。
真面目にペアを一日やると本当に疲れます。それだけ集中していたという事ですが。
お願い後ちょっとだけやらせて〜にはロスタイム5分&コミット禁止てな感じで。
ペア側では、ドライバーの時は最初のうちはナビゲーターの確認スピードと合わせる為ゆっくり目に書いていって、互いになれてきたらスピードアップ(マクロ他もだんだんと多用)。
書きつつも「ここのロジックいけてる?」とか、常にナビに問い合わせ。適正な突っ込みには即時対応。
ナビの時はコーディングスタイルから外れていたら即突っ込み、括弧の閉じ忘れや安易なコピペも容赦なく突っ込み、ロジックに関しても本当にそれで大丈夫?と再確認させる為の突っ込みと突っ込み三昧でした。
毎日心地よい疲れと共に帰宅してましたが、充実した期間ではありました。
Re: (スコア:0)
>パートナーを適宜変更していたので、各自の持つノウハウや知識がチーム全体に伝播していきました。
>残念ながら後にチームは解散分割のうえ、新チームの進行は旧態依然に戻るっていうね
成果は見えない形で会社に残ったのですから上がそれを認識していてくれているならいいですね
ご感想から推測するに常にとはいかずともたまに実施するだけでもメリットはありそうですし