web-dev-qa-db-ja.com

リモート開発チームの定期的なコードレビューのためのツールや方法

私たちは、オフショア開発者の小さなチームに開発をアウトソーシングしています。コードレビューの社内プロセスは、「ビッグバン」配信を必要とするウォーターフォールモデルに基づいた、手動の紙ベースです。変更することはできません。過去の経験では、これらの開発者は熟練していて信頼性がありますが、納品する時期が来て、レビューのオーバーヘッドは関係者全員にとって困難な負担になり、問題の発見は遅すぎます。

ソースリポジトリにはCVSを使用しています。彼らはCVSリポジトリのコピーを取り、最新のコードベースへの定期的な更新を受け取り、GITをローカルで使用して変更を管理します。配信の準備ができたら、最新のCVSクローンのtarballを送信し、作業をマージします。次に、コードレビューとチェックインを行います。

私たちは、社内プロセスの外で定期的で軽量なレビューを実行できるコードレビュープロセスをサポートするためのツールチェーンを探しています。これにより、社内プロセスが開始されたときに、すでにレビューした「高速」モードで実行できます。ほとんどのコード。

制限は、システムと私たちのシステムが切断されていることです。スニーカーネットを使用してファイルを転送しています。私たちができる最善のことは、VPNをシステムに組み込む1台のマシンを社内に設置することです。

ソースは商用コードであり、インターネットに公開されている場所に配置することはできません。

彼らが提案した1つのオプションはGerritです-彼らは彼らのサイトでそれを使うことを計画しています。スニーカーネットの制限を踏まえて、サイト間でgerritデータベースを共有および同期する方法はありますか?他の誰かがこの種の問題の解決策を持っていますか?

7
mattnz

yuk、waterfall-> cvs-> git ...混乱が起こるのを待っているように聞こえますが、...

コードレビューIMHOの最善のアプローチは、コードレビュープラグインを使用したRedmineです。 redmineでプロジェクトを作成し、コードが存在するリポジトリを指定すると、組み込みのリポジトリブラウザーを使用してコードを表示できます。

ここでの利点は、プロジェクトにリンクされたリポジトリを見るだけで、変更セットと変更間の差分が表示されることです。コードレビュープラグインを使用すると、コードのセクションにコメントを簡単に付けることができます。これにより、プロジェクトにチケット(つまりバグ)が生成されます。

これは高速でシンプルです。割り当てて追跡できる一連のチケットが作成されます。ローカルCVSリポジトリに直接フックするため、ソースコードを共有する必要はありません。ただし、Redmineシステムをアウトソーシングチームが利用できない場合、チケットを表示するのは難しいかもしれませんが、ExcelまたはPDFにエクスポートして電子メールで送信できます。

4
gbjbaanb

オフショア開発組織との奇妙な関係のせいで、この問題は奇妙だと思います。

オフショア開発チームとの協力における私の経験[〜#〜] successfully [〜#〜]は、既存のプロジェクトチームに100%統合することであり、これには以下が含まれます:

  • ツール-オフショアチームは、あなたと同じソース管理環境で作業する必要があります。 Gitに行くことは、CVSよりもはるかに良い選択ですが、ソース管理にうまく統合する必要があります。結局のところ、あなたは彼らのクライアントです。
  • 環境-なぜあなたはVPNをネットワークに接続しているのですか?それは逆であり、彼らはあなたのソース管理にコードをリモートでチェックインするためにこれを行うべきです。これはあなたが今苦しんでいる手動の混乱を取り除くという追加の利点を与えます。
  • コミュニケーション-これは難しく、簡単な答えはありません。タイムゾーンの違いは常に大きなハードルです。

つまり、あなたの苦痛に対する唯一の答えは、あなたが「変更できない」と特定したあなたの開発チームに彼らが完全に統合することを妨げる非常に政治的なプロセスです。この混乱した状況を改善するための提案は、骨折した足にタイレノールを与えるようなものです。これらの不可能なハードルが克服されるまで、問題は解決されません。

4
maple_shaft