他の人が作ったバグを修正するのは良いアプローチですか?


17

4人の開発者から成るチームがアプリケーションを構築している状況を想定しましょう。テスト段階では、バグがユーザーから報告されます。誰がそれらを修正する必要がありますか?エラーのあるコードをコミットした人、それとも無料の人?

アジャイル開発で好ましいアプローチは何ですか(スクラム)?


3
あなたのコードを作成した彼はあなたのコードを修正する必要があります
アジャイルスカウト

回答:


35

アジャイル開発で推奨されるアプローチは、可能な限り迅速にそれらを修正することです。これは、単にコードの所有権が誰にも委ねられず、開発者グループ全体に委ねられるためです。ある個人が常にバグを引き起こしている場合、それは別の問題であり、個別に対処する必要があります。


1
「可能な限り迅速に」+1。実際、できるだけ早くそれらを修正し、ユーザーがテストを続行し、新しいバグを報告できるようにします。

1
そして、バグを犯した人へのフィードバックはどうですか?

@Robertそれは単なるフィードバックの問題ではありません。バグは提出者によって正式にクローズされる必要があります。

10
また、他の人のバグを修正することは、学ぶための素晴らしい方法です。あなたはそれを書いていないので、コードが何をしているのかを本当に理解することを強制します。
-AndrewKS

1
@yegor、ロバートは提出者ではなく、バグを書いた人について尋ねました。重要なバグについては報告すべきであり、些細なバグについては報告すべきではありません。

8

デフォルトでは人。理由は非常に単純です:フィードバック。バグは、個人的および専門的なフィードバックのための素晴らしい機会を提供します。他の誰かが私のバグを修正した場合、私はそれから学ぶことはないだろうので、私は再び同じ間違いをするでしょう。

その人がいない場合、他の誰かがそれを修正できますが、その人はバグのライフサイクルに従う必要があります。


3
それがコミュニケーションが重要な理由です。元のコーダーではないバグを修正する人が問題と修正の内容を発信者に説明した場合、1人ではなく2人がそこから学習します。
-AndrewKS

7

PMとして、特定の開発者にバグをリンクすることは避けます。それを行う必要がある場合は、機能/開発マネージャーに任せてください。チームに関心を持つ。チームが修正する必要があるバグがあります。


私たちが行うことは、チーム内の誰でもよい「クライアント開発者」と呼ばれる一般的な担当者がいることです。トリアージでは、そのユーザーに割り当てられたすべての問題を示すフラグがあります。そうは言っても、最終的にこれらのタスク/バグを割り当てて、人々がそれらに責任を負うことが重要です。
8月

2

スクラムがこのシナリオをどのように処理するかはわかりませんが、私のチームには、クロステスト/コードレビューのようなものがあります。このように、バグが見つかった場合、開発者とレビューアの両方が、それを修正するための最良のアプローチについて話し合います。

ソリューションが適合する限り、開発者またはレビューアがそれを適用するかどうかは問題ではないと思います。ただし、開発者とテスターの間のあらゆる種類の競合を避けるために重要です。

Rgds

編集:自分自身を明確にしたかどうかはわかりませんが、レビューアがチーム内の別の開発者であることを強調することが重要です。


@Tiago:あなたのソリューションに感謝しますが、議論が常に必要だとは思いません。
ホアンロング

1
  1. バグを評価する
  2. 元の開発者がそれを修正する方が速い/より理にかなっている場合は、彼らにそれを与えます
  3. チームの誰でも修正できる場合は、誰でも修正できます。

1

コードがすべてのチームに属することについて、私はStevenに完全に同意します。バグを作成者に渡さないほうがよい理由がいくつかあります。

私が知っているように、多くの場合、バグの原因を特定するのは困難です。SVNのようなドキュメント管理システムを使用している場合でも、エラーコードの追跡には多くの時間がかかる場合があります。だから、私の意見では、無料の人にはバグを教えてください。

バグがどのように生成されたかを追跡する場合は、余暇に(すべてのチームの前に)ケースについて修理担当者に問い合わせることができます。あなたのチームが小さいので、これは起こりうるバグについての経験を共有し、誰も困惑させないだろうと思います。


1

誰がバグを修正するかを気にする理由は、コスト、スピード、専門能力開発の3つだけです。

そして、3つすべてに賛否両論があります。たとえば、専門的な開発では、一方ではコードの詳細を学ぶことができますが、自分が犯す間違いの種類を認識し、将来的にはそれを避けることができます。または、おそらく間違いを犯した人はそれをより早く修正でき、おそらくより安価になりますが、一方で、間違いを犯した人を特定し、適切な人に割り当てるために費やした時間の費用がかかります-時間多くの場合、これはバグを修正するものを超えています。

アジャイルなアプローチは、開発者が問題を自分で割り当てられるようにすることです。正当な理由がある場合にのみそれをオーバーライドします。


1

私のチームでは、常に優先順位に従って決定します。コードを送信した人が利用できる場合、コードを修正します。その人が優先度の高いストーリーに取り組んでいる場合、利用可能であり、できるだけ早くコードを修正できる人なら誰でも修正できます。全員が現在の反復で優先度の高いタスクに取り組んでいる場合、修正は他のストーリーや欠陥と比較した優先度に従って次の反復でスケジュールされます。


0

考えてみてください:バグに関する詳細情報を持っているのは誰ですか?開発チーム。

だから、彼らはバグをどうするかを決めましょう。彼らはコードを所有しているので、彼らはそれに対して責任があります。

あなたは、プロジェクトを管理するバグ修正のためのプロジェクトのスコープにいくつかの時間を割り当て、彼らをさせることによってそれらを助けることができるだけで仕事をします。

あなたが(PMの役割として)チームより情報が少ない場合、多くの決定を下さないでください。

次の質問を参照してください。ソフトウェア開発チームのマイクロ管理を回避する方法


0

バグを追跡するシステムが必要だと言います。バグを記録し、報告した後、作業負荷に基づいてさまざまな人にバグを割り当てる必要があります。また、誰のコードがバグを引き起こしたかを示し、その週に何人のコーダーとどのアプリがxのバグを引き起こしたかを示すレポートを持っています。

次に、それをコーダーに見せて、彼らがどのようにバグを引き起こしているかを示すことができます。

そして、バグを防ぐための最善の方法は、バグの修正に全員を巻き込むことです。バグ修正を別の人に割り当てて、何がバグを引き起こし、何がそれらを修正するかについての全体的な経験を与えることを意味します。

その後、おそらく1〜2か月後にバグを修正し、コーディングスタイルのガイドラインを修正または作成して、プログラミング方法に関する標準を文書化/文書化することで、システム全体の将来のバグを防止します。


0

バグが見つかった場合、それを修正するのは開発チーム全体の責任です。

バグがその作者によって修正されるべきだと人々が信じるなら、それは「私は問題を修正していない、穴はボートの私の側にない」と言っているようなものです。しかし、穴が固定されていない場合、ボートは沈み続け、あなたは他のみんなと一緒にそのボートに乗っています。

個人は自分がチームの一員であることを認識し、コードとその責任がすべてに属していることを理解する必要があります。プロジェクトの成功は、すべてのチームメンバーにかかっています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.