4

私はシニアソフトウェアエンジニアであり、数か月前にバグ修正の調整を手伝うように頼まれました。プロジェクトマネージャー(非技術者)は、生産性を1人/日あたり1つのバグ修正に改善するという目標を私に与えました。これは本当に難しいことであり、バグ修正率を向上させるために他の開発者/管理者が何をしたのか知りたいです。

この状況で役割を果たすいくつかの要因:

  • チームは地理的に分散しており(ヨーロッパ、アジア、オーストラリア)、各地域に10〜20人の開発者がいます
  • 会社に9か月しかいないので、あまり馴染みのない大規模なコードベース
  • 経験の浅い開発者のみがバグ修正に割り当てられ、最も有能な開発者は機能拡張に取り組んでいます
  • 私たちはアジャイルに従うので、ソース管理、継続的インテグレーション、バグデータベースを使用し、プロジェクトには新しい作業のスケジュールと仕様があり、テスターがいて、ユーザビリティテストを行います
  • 私たちのコードは、社内およびサードパーティのコンポーネント/ライブラリの多くに依存しています
  • プログラムマネージャーにはいくつかの古いバグ修正メトリックがあり、1人/日あたり0.7のバグ修正を示しています。私の懸念は、これがプロトタイプに取り組んでいる経験豊富な開発者のチームに基づいており、彼ら自身が書いたコードのバグを修正していることです。現在、コードに精通していない開発者のチームを調整しています。バグは検証チームに起因しています。

最初のいくつかの回答を読んだ後のいくつかの詳細:

  • 私はバグ修正された生産性メトリックを使用することに反対しようとしましたが、このアプローチでは行き過ぎではありませんでした
  • すべてのバグに優先順位が付けられ(1-5)、重大度(1-5)が含まれ、追加情報でタグ付けされます(たとえば、別のバグによってブロックされた、クラッシュ、再現不可能など)
  • ほとんどのバグには、修正時に単体テストケースが記述されています
  • コードの特定の領域のバグは、可能であれば、その領域に精通している人々に割り当てられます
  • バグ修正率はチームごとに追跡され、修正履歴が保持されます
  • 毎日のスタンドアップでは、ブロックの問題を求めて解決することで、人々を動かそうとしています。
  • すべての新しいコードは単体テストで書かれています
  • はい、私はさまざまな方法で生産性メトリックを改善するために最善を尽くしています-古い無関係なバグを閉じ、バグレポートなしで解決される問題のバグを作成して修正します
  • バグデータベースに直接アクセスして、バグ管理のありふれた側面を自動化し、レポートを作成するPythonスクリプトを開発しました。

  • -
4

4 に答える 4

3

バグ修正率は、状況によっては有効な指標ですが、他の状況では誤解を招く可能性があります。一部のバグは、他のバグよりも明らかに修正がはるかに困難です。

試してみたいアイデアには、バグをさまざまなカテゴリに分類することが含まれます。修正の難しさ、顧客にとっての重要性、複雑さなどの指標に基づいて並べ替えます。

アジャイル環境では、主にテストコードの記述に集中します。バグのライフサイクルについて考えてみてください。あなたが最初にやろうとすることの一つはそれを再現することです。バグに対するテストケースを作成できれば、バグの修正までの距離を測定できます。これを行うだけで、バグ修正率が向上します。

于 2009-03-31T04:51:35.257 に答える
3

良い出発点は、バグ修正プロセスを体系化することだと思います。1日あたり1バグ未満の場合は、コードベースが大きいと想定しており、これらのバグを見つけて再現するのは困難です。私はいくつかの分析から始めます

1)バグを理解する期間

2)検索/複製する時間

3)どのコードが修正されていますか(ここにパターンがあります)

4)修正するときに、別の単体テストを追加しますか

5)バグが発生している個人およびチームを確認しますか

それを数週間行うことで、将来の方向性のための本当に良い基盤が得られます。それはまたあなたのマネージャーが受け入れるべき専門的なアプローチになるでしょう。

于 2009-03-31T04:55:21.830 に答える
0

開発者に、バグ修正サイクルの中で最も時間のかかる部分についての意見を聞いて、この情報をどのように使用できるかを考えることができます。

彼らは実際の仕事をしていて、ボトルネックが何であるかについて彼らが最も多くの情報を持っていることは合理的です。

于 2009-03-31T05:03:28.817 に答える
0

経験豊富な開発者がバグを修正し、経験の浅い開発者が拡張機能を作成することをオフにすることは有益ですが、これはあなたの状況では不可能に思えます。

人々が立ち往生しないようにしてください。誰かが問題を抱えていて、どこにも行き着いていない場合は、助けを求めて正しい方向に進むように勧めてください。

上記のポスターのように、経験豊富な開発者に機能強化のためのテスト ケースを作成してもらいます。(もちろん、これはバグ修正を難しくします)

いつでも意図的にバグを追加して修正することができます。

于 2009-03-31T04:59:48.950 に答える