web-dev-qa-db-ja.com

不完全なストーリーのコードをビルドから削除する必要がありますか?

スプリントレビュー中に、製品の所有者は、特定のストーリーが不完全であるか、チーム自体がいくつかのコミットされたタスクを完了していない可能性があると言う場合があります。

どのような状況でコードをビルドに残しますか?コードがビルドに残っている場合、これはレビュー中に意識的に行われた決定ですか?言い換えれば、レビュー中にこの問題について話し合いますか?

コードを削除する必要がある特定のインスタンスはありますか?

4
GuyR

不完全な機能が出てくるはずです。しかし、コードを削除せずにこれを実行できる場合(機能フラグ、配線を削除するだけなど)、それは問題ありません。実際、望ましいことです。どうして?すでにほとんどテストされている製品への変更を制限するためです。

ストーリーのリスクが中程度から高い場合、開発者は常に削除の可能性を念頭に置いてコーディングし、タスクにできるだけリスクがないことを確認することをお勧めします。

6
pdr

意味のあることをしてください。

コードが問題を引き起こさない場合(呼び出すことができない関数だと言う)、および/または次のスプリントでストーリーを終了する場合は、コードを取り出すのはちょっと時間を無駄にします。それを元に戻すために。

一方、コードが他の何かを不安定にしている場合、機能しない方法でユーザーに表示されている場合、またはコードが問題を引き起こす可能性があり、すぐに話に戻らない場合は、その後、それを削除することはおそらく正しいことです。

5
Michael Kohne

そこにあるコードがすでに十分なテストカバレッジ(単体テストなど)を持っている場合は、まだテストされているので、それを保持できます。自動化されたテストをあまり行っていない場合は、未使用のコードが腐敗し、後で再び使用されたときにのみ状態がわかるため、おそらく削除する必要があります。未使用、未テストのコードはほとんどがノイズです。

1
Danny Staple

デッドコード

デッドコード、つまり使用されていないコードは、近い将来使用される予定がない限り、常に削除する必要があります。

不完全なストーリー

ストーリーが不完全であるからといって、あなたが持っているものを実行することに価値がないという意味ではありません。値がない場合は、デッドコードと見なされます。

1
dietbuddha

その機能のコードは、そもそもリリース対応のコードベースに組み込まれるべきではありませんでした。これは、サーバーベースのバージョン管理(SVNなど)を使用していなかった場合、かなり困難でした。機能の分岐。今日、分散バージョン管理(Mercurial、gitなど)を使用すると、簡単に実行できます。

ツールに加えて、プロセスの変更が必要になる場合があります。たとえば、コードをマージする前にレビューすることを要求し、製品マネージャーとのレビューが反復の十分早い段階で行われるようにして、不完全なものをコース修正してテストできるようにします。

要するに、部分的に完成したストーリーでは価値を得ることができないということです。さらに、それが終了していない場合、顧客は次のイテレーションでコースを変更する可能性があります。その場合、半分終了した機能で膨張が発生します。

0
Michael