バグの優先度に開発者に影響を与え、それに応じてそれらを処理する方法は?


14

現在、作業中のバグプロセスがあります。

バグには3つのレベルがあります。

  • P1バグ:ユーザーの作業を妨げるバグ。それらはその場で解決されなければなりません。
  • P2バグ:影響はあるが、ユーザーは作業できるバグ
  • P3バグ:影響がなく、ユーザーが作業できるバグ。

P1は必須であり、その場で対処する必要があります。しかし、P2とP3については、ケースバイケースで判断します。

3つのレベルがあるため、チームはP2とP3を扱うのではなく、顧客から求められたより緊急の新しい開発に取り組む傾向があります。

質問は次のとおりです。

P4を持つなど、別のレベルの優先度を追加する必要がありますか?

今週のように、緊急ではないチケットを処理するためのターゲットも割り当てる必要があります。コーディングタスクを割り当てない場合は、少なくとも1 P2を処理する必要がありますか。

現在、私が上で挙げたような目標はありませんが、私の懸念は、そのような目標を与えることは残忍なことです。確かなことは、目標について話し合う必要があることです。チームは、特に目標を設定するときに議論に関与するのが好きです。

更新:


この質問は、類似性の観点から提案されました。しかし、まったく似ていません。

私の質問は、厳密なアジェンダを課すことなくバグを処理し、それを解決する方法です。だから、暗示された質問は私を助けない。それでも、ありがとう。



1
通常、優先度は優先度の順序ほど有用ではありません...「バグX」は「バグY」よりも重要です。最終的にp4を追加すると、p5とp3.5が必要になります
sudo rm -rfスラッシュ

2
P1のバグが非常に多く、開発者全員がP2 / P3に取り組むのではなく、常にそれらの修正に忙しい場合、何か非常に悪いことをしていることになります。しばらくの間、これ以上機能を追加しないでください。これらのバグの多くをほぼ確実に引き起こしているアーキテクチャ(または人員)の問題のドリルダウンと修正に焦点を当てます。たとえば、C ++でコーディングしている場合は、できる限りRAIIを使用していることを確認してください.release()。手動でを忘れないでください。
ファンドモニカの訴訟

あなたの目標は何ですか?開発者がバグ修正にもっと取り組み、新機能にはもっと取り組んでほしいですか?質問を編集して明確にしてください。また、開発者が現在どのように仕事を受け取っているか、または引き受けているかを説明してください。何に取り組むかを決めるのに何が使われますか?
sleske

機能、バグ、あなたがそれを呼ぶものは何でも変更してください、ソフトウェアは必要なことをしません。バグと機能の唯一の違いは、誰がそれを支払うかです。
マッテンツ

回答:


30

一般的に、バグには重力と頻度の2つの軸があります。

したがって、明らかに重大で頻繁なことが最優先事項です。ただし、深刻ではあるがめったに発生しないものは、深刻ではないが頻繁に発生するものとほぼ同じ程度に重み付けする必要があります。したがって、重力を1から3、頻度を1から3と評価すると、修正する必要があるバグのタイプは、重力1、頻度3、および重力3、頻度1で定義される対角線を越えるバグです。

ブロッキングエラーまたはクライアント情報への潜在的な損傷を引き起こす可能性のあるエラーは、常に重力3になります。同様に、重力1のエラーは、ユーザーが気付かないか、優先度が低くなります。ここでよくわからない場合は、2を割り当てるのがおそらく安全な番号です。

プログラムが起動されるたびにユーザーに表示されるエラーの頻度は3になります。頻度1のエラーは、めったに起こらないことです。繰り返しますが、不明な場合は、2を割り当てるのがおそらく安全な番号です。

重力3のバグまたは頻度3のバグを構成するものはほとんど主観的ですが、常識を使用してください。重力1、周波数2のバグは、ラベルのつづりが間違っている可能性があります。重力2、頻度1のバグは、データベース接続がダウンした場合の適切なエラー処理である可能性があります。

繰り返しますが、これは単なる大まかなアイデアですが、アイデアは一種のトリアージとしてバグ修正の焦点とすべきものに重点を置くことです。明らかに、すべてのバグをブロックまたはその他の方法で排除することはできませんが、少なくともこの方法論では、バグがあまりにも急ぎすぎたり頻繁になったりすることはないと言うことができます。エラーをブロックしているバグのみを修正した場合、高周波エラーは無視され、ユーザーこれらのバグを修正しなかったことに気付くでしょう。

また、便宜上、重力または頻度の文字等級を提供することを好む場合があるため、バグはB3エラーであり、重力と頻度の両方が明確であると言えます。

幸運を!


3
現実には、バグの指標はROIの1つだけです。これは、修正しない場合に企業が失う金額と比較して、修正するのにかかる費用です。機能と比較してください。もちろん、そのメトリックの計算方法には重力、頻度などが含まれます。
corsiKa18年

3
@corsiKa、はい。ROIは複合的な指標であり、「収益」と「投資」です。バグの場合、リターンは「重力」と「頻度」の複合としてモデル化できます。
ポールドレーパー

11
@corsiKa、品質決定の冷酷な利己的な分析は、実際には非常に無責任です。製薬会社が「やめられる」場合に有効性試験法を回避したり、有害作用の重症度や頻度に関係なく市場で収益性の高い薬物を維持したりするのと同じ論理です。製造業者は良好なセキュリティでドルの価値を見ることはできなかったため、安全でない消費者ルーターと「スマート」デバイスで構成される巨大なボットネットにつながるのと同じ無責任です。重力と頻度は、「ボトムラインの影響」よりもはるかに優れたメトリックです。
ワイルドカード

3
@Wildcard私は文字通り共産主義者なので、私はそれらがより良いことであることに100%同意します。これがソフトウェア会社の運営方法であるという事実は変わりません。その流れに逆らうと、会社を経営しない限りあなたをdrれさせます。注目に値しますが、利己的ではありません。それはシングルサービングですが、そのシングルは自己ではなく、会社です。それをそこに投げるだけ。
corsiKa

1
@WildcardとcorsiKaは大きな会社ではないので、「ああ、お金を失いそうだから、それ以外のことをやろう」と言う余裕はありません。しかし、物事の壮大な計画では、あなたが言及したアプローチが長期的に持続可能なものであるとは思わない。人々-顧客は愚かではありません。そのような福音を宣べ伝えてきたサンという名前の企業は、もうここにいません。私は、お金がそんなに稼げないほど長い間、アカウント管理で働いてきました。あなたは、このような会社のために仕事に起こるならば誰にも、同社は忠誠心1 / nの欠けているところ
アンディ・K

24

これは、あなたがより重要であると考えるものに要約されます。P2バグまたは新機能?

通常、アジャイルプロジェクト管理システムには、タスクが優先度順に並べられ、その順序で作業される優先順位付け会議が含まれます。

開発者は、作業するタスクを選択できません。それがプロジェクトマネージャーの仕事です。予算が尽きる前に、プロジェクトに含まれる重要な機能を可能な限り多く確保する必要がある人。

それが本当に最も重要なことです。「週に少なくとも1 P2を修正する」などの単純なルールは、この目標を実際には助けません。


5
優先度を割り当てる際の問題は、選択したバケットの粒度が常にバケットごとに複数になることです。「これらはすべて最優先です!」と言うだけでなく、整理する必要があります。
ユアン

6
@Ewanまた、最も高いバケットに対処するのに期待できるよりも多くの問題があり、バグ追跡システムの外部で新しいレベルの優先度が発明された場合、優先度のインフレの可能性があります。Pマイナス2の問題について人々が話すのを聞いたことがあります。
カスペルド

2
開発者が作業するタスクを選択することは許可されていないと言うと、生産性が低下します。開発者が作業中の最も優先度の高い問題でブロックされている場合、その間に別の問題に取り組むことができれば、最初の問題が何かでブロックされている間は何もしないよりも優れています。さらに、ユーザーに害を及ぼさないが開発者の生産性を損なう問題は、多くの場合、必要なほど優先順位が付けられていません。最後に、開発者に自分の意思決定を許可しないことを伝えることは、モチベーションを破壊する確実な方法です。
カスペルド

3
@kasperdほとんどの開発者は、彼らが従業員であると同時に技術的な天才であることを受け入れ、雇用主が最初に行うべきタスクを決定することを受け入れると思います。明らかに、ブロックされている場合は、次に重要なタスクに移動しますが、クールなタスクに取り組むために10個の重要なタスクをスキップしないでください。
ユアン

1
作業が完了またはブロックされた場合、スプリントに別の開発タスクをプルする(スクラムを行う)代わりに、バグを優先する必要があることがわかりました。MSは、Windows 2000での作業時に、すべてのバグを開発タスクよりも優先度が高いことで有名にしました。通常、代わりに作業する新しい開発があるため、バグが残る傾向があります。
ボールドリック

1

ソフトウェアが重要ではないバグを積み上げて何か大きな問題を引き起こし、大きなイベントが発生し、それらの多くが一度に修正されるのは、かなり一般的なサイクルです。たぶん、大規模な新しいリリースの前にバグ修正のみにスプリントを1つまたは2つ捧げることによって、またはEOLでありヒープバグを生き延びたソフトウェアによって。

あなたの開発者が彼らに単にスライドさせたなら、あなたは良い仲間です。もちろん、あなたが言ったように「ルール」を調整することもできます(「新しい機能に取り組んでいない場合は、週に少なくとも1つのP2に取り組む必要があります」)。

私の質問は、厳密なアジェンダを課すことなくバグを処理し、それを解決する方法です。

代わりに、全体的な考え方を少し変更し、バックログの第一級市民であるという意味で、バグを機能のようなものにすることをお勧めします。はい、新機能は素晴らしいです。はい、管理と販売は新機能を非常に重視しています。しかし、厄介なバグの巨大な山の代わりに、安定した、適切に機能するアプリケーションを持つことも重要です。

開発者に、自分が好きではない仕事をしなければならないことを伝えないでください。バグに取り組むのが好きなように、大気圏を変えてみてください。バグのないアプリケーションに誇りを植え付けるようにしてください。バグがある場合、そのバグのマニフェストを作成した根本的な理由(つまり、迅速な回避策/ハッキングだけでなく)を実際に修正できるようにすることで、バグに取り組むことをより楽しく(原文のまま)にします。壊れたクラス構造を取り除いて、より適切なものに置き換えることは、開発者にとって非常に楽しいものです。定期的に他の場所にバグが現れる壊れた中央部分がある場合は、中央部分を修正します。

目標をどのように達成するかは、あなた自身のキャラクターとチームのキャラクターに大きく依存します-目標を達成するためにそれらをだますのではなく、オープンな議論を行い、ピア効果を実行してみてください。作業プロセス自体など。

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