web-dev-qa-db-ja.com

一部のチームペアプログラムでコードレビューのボトルネックを回避する方法

次のいずれかであるため、スプリントのすべての開発者にとって最優先のアクティビティとしてコードレビューを説明する 思考の学校 があります。

a)未実現価値の源泉

b)バグの原因

白黒表示などを購読するかどうかはわかりませんが、その意見には同意します。

しかし、背景は十分です。

レビューが一度に何日も待ち行列に残るという永続的な問題があります。ボトルネックは常に需要が高いため、主要な開発者が原因です。また、彼らの仕事の重要な性質のために、彼らはプログラムをペアにする傾向があるので、彼ら自身のコードレビューをそのように行う必要はありません。したがって、彼らが本当の意味でレビューを行うための真のインセンティブはありません。

最も頻繁に使用される不満は、プログラミング中に思考の列を失うことです。これにはいくつかの真実がありますが、確かに彼らは昼食後や朝の最初のことだけをレビューできますか?

これを回避する方法はありますか?以前のプロジェクトでは、1日のSLAを適用しましたが、これはほとんどの部分でうまく機能しましたが、ペアのプログラマーによってルールが破られる傾向がありました。

開発者は順番にコードレビューを行うので、負荷はすでにかなり共有されています。

6
Robbie Dee

チームには、自分のコードをレビューする権限が必要です。結局、資格のある人がいないからです。

GITプルリクエストは、このための最も簡単で最も堅牢なモデルの1つを実装します。

  • X(2人を推奨)他の人がレビューするまで、コードをマスターにマージすることはできません。通常、開発者1人とテスター1人の規定があります。
  • 誰でもレビューをコーディングできます。ジュニアの質問はシニアの批評と同じ効果を持つことができます。それは、複雑さとエッジのケースを取り上げることです。

簡単にするためにできることがいくつかあります。

  • ペアプログラミングはコードレビューとしてカウントされます(すべて一緒に開発された後)
  • チェンジセットを小さくしてください。これが良いアイデアである理由はたくさんあります。
  • 最も経験豊富で忙しい人に自動割り当てしないでください。他のチームメンバーがコードを取得して、コードベースを自慢できるようにする
  • スタンドアップボード用に追加の状態を作成する(または定義を完了の定義に含める)ことを検討してください。すべてのボトルネックと同様に、人々をブロック解除するために実行する必要がある作業を人々が見ることができるように、それを可視化します
  • 自動化されたコードレビューツールの使用を検討して、自動化可能なルールではなく、重要なことに集中できるようにする
8
Liath

ペア(または暴徒)プログラミングを実行する場合、ピアレビューは必要ですか?

私は ピアコードレビューを実行する理由についての回答を以前に記述しました を最初に使用しました。ただし、これらはすべてペアプログラミングでも対処できます。本質的には、ペアプログラミングは、リアルタイムで高度にインタラクティブなコードレビューです。

コードはペアでプログラムする(そして効果的なペアリング手法に関するチームの基準やガイドラインを設定する)か、コードレビューを行う必要があると言う方が簡単かもしれませんが、どちらも必須ではありません。もちろん、いつでもコードレビューを追加して変更の3番目(または4番目)の目を得ることができますが、2人のユーザーがすべての変更の品質を確認していることを確認する必要があるだけの場合、ペアプログラミングはあなたのその。

1
Thomas Owens