バグの原因を追跡または測定することは可能ですか、それとも意図しない結果を尋ねるだけですか?
-
15-09-2020 - |
質問
開発チームのメンバーから意図しない結果をもたらさないバグの原因を追跡または測定する方法はありますか?最近、追跡システムにバグの原因を割り当てる機能を追加しました。原因の例には、次のものが含まれます。不良コード、不足コード、不完全な要件、欠落要件、不完全なテストなどがありました。私はそれが開発チームから意図しない行動につながっているのを見ることができました。今日までこのフィールドはチームメンバーから隠されており、積極的に使用されていません。
今我々は私達が正常なバグより大きいプロジェクトの途中にあり、このタイプの情報は私達が間違っていたのか、そして私達が将来改良をすることができる場所をよりよく理解するために持っていることが良いでしょう(または今調整)。バグの原因について良いデータを得るためには、DevとQAチームメンバーによる入力のためにこのフィールドを開く必要があります。これは悪い行動を運転する心配しています。例えば、人々は、彼らがそれが彼らのパフォーマンスに悪いことを反映しているのを感じるので、彼らが創作しなかった欠陥を修正したくないかもしれません、それともそれが業績に反映されるのを感じるでしょう。
誰もが悪い行動を運転せずにこのタイプの追跡をするためのメカニズムを見つけましたか?チームメンバーからの有用なデータを期待することは、データの背後にある合理的な推論を説明した場合(個々のパフォーマンス測定基準を推進しないがプロジェクト成功測定基準)を説明することは可能ですか?このタイプのものをやるためのより良い方法があります(多角質の多くのアドホックポストモートメントまたは問題についての議論)?
解決
多くのバージョン管理パッケージには、svn blame
のようなものがあります。これはバグを追跡するための直接のメトリックではありませんが、それに大きなバグを持つリリースに変更をチェックインした人はあなたに言うことができます。
http://www.bugzilla.org/ のようなプログラムもあります。 。
しかし、なぜバグが存在する理由を本当に掘り下げる限り、そうであることは間違いなく見ている価値がありますが、その情報を収集するための標準的なメトリックを与えることはできません。システムが非常にバグのある可能性がある理由はいくつかあります。
- 仕様が不十分な仕様
- 急いでタイムライン
- 低スキルプログラミング
- 悪い士気
- ベータ版やQAテストの欠如
- ソフトウェアの準備が不足しているため、ベータやQAテスト にも可能です。
- バグのクリーンアップに費やされた時間の違いは新しい機能を取得
- バグのない機能強化を行う時間の比率は、機能を取得
- 壊れやすい複雑なシステムを超える
- マシン管理 など、コードベースの外側にある環境の変化
- プログラマの補償または昇進に影響を与える間違いのせい
それはほんの数例です...多くのバグが大きな問題であるならば、その後、管理とリードプログラマとその他のプロセスの他のステークホルダーとその問題について議論する必要があります。
他のヒント
ハイバグレートは、急いすぎるスケジュールの症状になる可能性があります。ゼロ欠陥アプローチへの切り替えは役に立つかもしれません。新しいコードを作業する前に、すべてのバグを修正してください。
問題の割り当ては、問題のある場所があるかどうかを確認するための良い技術です。私が見た典型的なメトリックと遭遇する標準的なメトリックは、次の間でさえ分割されています。
- 指定エラー(欠落、誤ったなど)
- アプリケーションのバグ(incorrectコード、欠けているコード、不良データなど)
- 誤ったテスト/エラー(通常は誤った期待、またはまだ実装されていない仕様)
欠陥の原因の除去と検証は役に立ちます。