エクストリーム・プログラミング プラクティス
ソースコードの共同所有(「チームコード所有」および「共有コード」とも呼ばれる)は、すべてのコードに対してすべての人が責任を負うことを意味する; したがって、誰もがコードのどの部分を変更することもできる。
ソースコードの共同所有は、組織的なポリシーだけでなく、感覚的なものでもある。
「開発者は、システムのコンテキストを理解し、問題のコードに貢献し、コードの品質を高く評価し、製品がユーザーのニーズを満たし、チームの結束度が高いと信じるほど、チームコードの所有権を強く感じる。」
ペアプログラミング、特にオーバーラップペアローテーションは、このプラクティスに貢献する: 異なるペアで作業することで、プログラマはシステムコンテキストをより理解し、コードベースのより多くの領域に貢献することになる。
エラーを発見した開発者はすぐにそれを修正できるので、コードを共同所有することで開発は加速し、全体的なバグを減らすことができる。 ただし、プログラマがよく理解していないコードを変更すると、バグが発生する可能性もある。 十分に定義されたユニットテストは、この問題を軽減するはずである: 予期せぬ依存関係がエラーを発生させた場合、ユニットテストが実行された際にエラーがあらわになる。
ソースコードの共同所有は、メンバーへの支援が改善され、知識と学習の幅が広がり、コードの責任が共有され、コードの品質が向上し、やり直しが減る。 しかし、メンバー間の衝突の増加、バグの増加、開発者の集中力の乱れと思案の中断、開発時間の増加、またはコードの理解不足につながる可能性もある。