0

私たちは新しいアジャイル ショップであり、他の人が見たことを願っている問題に遭遇しています。

私たちのプロセスでは、トランクは統合ブランチと見なされます。リリース可能である必要はありませんが、他の人が分岐できるように安定していて機能的である必要があります。新しい開発のためにトランクの機能ブランチを作成します。すべての作業とテストは、これらのブランチで行われます。個々のブランチは、必要に応じてプルアップし、他の機能が受け入れられ、コミットされているため、トランクとの統合を維持します。しかし今では、多数の機能ブランチがあります。それぞれが焦点を絞っており、ライフサイクルが短く、完了するとトランクにプッシュされるため、ブランチの必要性については議論せず、アジャイルになるように努めています。

私の問題はここにあります: トランクにプッシュする前に、ブランチがライフサイクルの終わりにトランクからプルアップし、検証、回帰テストを完了し、すべての構成の問題を処理する必要があります。トランクに再統合したら、少なくともビルドと自動スモーク テストをお願いします。ただし、現在、トランクの検証についてプッシュバックを受けています。議論は、開発者が機能ブランチでの作業を既に完了しているため、コードをマージでき、QA 検証手順を必要としないということです。したがって、追加のテストは必要ありません。私は何度も「頭のない」マージが失敗したことを経営陣に思い出させようとしました。この解決策は、ビルドと回帰テストの代わりに、開発者に機能ブランチと新しくマージされたトランクを比較させることです。彼らが考えていたそのプロセスは、私が求めた回帰テストに取って代わるものでした。では、トランクに再統合するときに必要なものは何ですか? このステップを削除して diff に置き換えると、どのような問題が発生しますか? アジャイルを維持するためのコストは、ブランチの統合による追加作業ですか?

ご意見ありがとうございます。ローンCM

4

1 に答える 1

0

「ビルドと自動化されたスモーク テスト」が実質的な余分な作業である、または「アジャイルを維持するためのコスト」として説明される理由がわかりません。もちろん、すべてが自動化されていることを考えると。(実際、私は通常、継続的なビルド/統合と自動テストを、アジャイル開発に関連する一連のベスト プラクティスの一部と見なします)。 diff一般に、決して等しく比較されないファイル (たとえば、タイム スタンプを含む形式のバイナリ リソース) が存在する可能性があり、テストのみが違いがあったとしても正確性を損なわないことを確認できるため、それをカットしません。

複数の開発者 (ペア プログラミングを行う場合はおそらくそのペア) がすべて個別にトランクにコミットできる場合 (つまり、「トランクのロック」が許可されない場合)、推奨する種類の最小限の健全性チェックが強く推奨されます。開発は「アジャイル」、完全にカオス、またはその他のものです;-)。

于 2010-04-05T14:52:59.013 に答える