栗原です。はじめまして赤坂さん。
Akasaka Hidehiko さん Wrote:
> > 僕に関して言えば一人で書くほうがペアより生産性が高いと思います.
>
> でもペア(2人)でやるわけですから、
> 2人分以上の仕事をこなさないと生産性は下がったことになりますよね?
>
> # 経験がないので分かりませんが、3人分くらいになるのでしょうか?
1人でプログラミングしたときの生産量を1として、3人分ということではないで
すよね?
2人で行っても、単純に生産量が2倍にはならないですから。
生産量が2倍にならない理由:
・お互いが記述したコードを互いに熟知しているわけではない。
・1人でプログラミングして、何か良くない方向にコードがかかれているとき
レビューが行われるときまでは気づかない。
など。
ペアプログラミングによって、少なくとも2人以上がコードを把握し、かつ常に
良い方向へ修正できるため、生産性があがるのではないでしょうか?
> コミュニケーションの大切さは同感です。
> 特に、この業界ではエンジニア同士のコミュニケーション不足を感じます。
> # もちろん、普段ROMの私もその一人ですが・・・。
同感です。
コミュニケーションが十分取れている状態がペアプログラミングかもしれません。
> 「・開発の中でコーディングおよびテスト工程に特に重点を置いている
> ・初期設計よりもリファクタリングによる再設計を重視している」
>
> に、過剰反応しているのかもしれません。
>
> まずテストを考えるには、手放しで賛成ですが・・・・
> ・設計できないやつにコーディングを始めさせられるのか?
>
> という点で、レベルが高いメンバが必要と感じました。
> # それをペアで補うのかもしれませんが・・・。
>
> 設計できない人でもXPできるのでしょうか?
> # それは高いスキルではないのかもしれませんが・・・。
これに関しては、エヌ・ケー・エクサの児玉さんがおっしゃっていました。
リファクタリングをすることで、コードをある程度まで良い状態に変更することが
できるのですが、リファクタリング後のコードがなんら問題ないかというと、
根本的な設計をやり直したほうが良いと感じる。
といったような趣旨のことです。
リファクタリングのサンプルにあったビデオレンタルのモデルをチュートリアル
形式でリファクタリングを進めたものの、最終的なコードについてコメントをした
ときのものです。
私自身は、最終的にコストが少なくなりそうな方法をとる、のが良いと思っていま
す。
将来的に必ず拡張性が必要になるという点については、それを考慮した設計を行い、
未定の点については、小規模リリースを行いながら、問題があればリファクタリング
する、みたいに。
「とりあえず、後でリファクタリングすればいいや」は、ちょっと、、、と思いま
す。
---
Tetsuya Kurihara
tetsuya@....jp