ブログ

ryuzeeによるブログ記事。不定期更新

直近開催のScrum Alliance認定スクラムマスター研修のご案内

バグ修正のスケジュールをどのようにたてるべきか

みなさんこんにちは。@ryuzeeです。

ThoughtWorksのプリンシパルコンサルタントのJason Yip氏のHow should we schedule bug-fixing?が良い記事だったので抜粋・意訳にてご紹介します。

どのプロジェクトでも新機能の追加や変更を行うし、バグの修正もあるだろう。必然的に以下の質問があがることだろう。 「バグ修正のスケジュールはどうやってたてれば良いのか?」

考慮すべきこと

経済価値の最適化

最適化されたスケジューリングのアプローチは経済価値に基づいているべきである。すなわち何を行えば、行ったことから得られる価値が最大化されるかということだ。

バグが見つかることは単なる症状である

最初にバグをみつけたとき、多くの場合単に背後にある根本原因から生まれた症状のみを見つけているだろう。背後にある欠陥はさらなる未発見のバグを引き起こしたり、新しいバグを生み出すことになるだろう。

予測可能性

バグは他の種類の作業に比べると予測しにくい。というのも、多くの努力が、何故その問題が起こっているのかを探索する箇所にあるからだ。

解決案

バグを常に最優先にする

常にバグを真っ先に直すことはとてもシンプルなアプローチだ。しかし、これは経済価値最適化のアプローチではない。 例えば、滅多に使われない機能のバグ修正ととてもよく使われる機能への機能追加を比較すると良い。 ただ、既存バグがたくさん存在するレガシーシステムにとっては、このアプローチは、まずは「既存バグは最優先にする」ようにしない限りはうまくいかないだろう

バグは単に他の作業と比較して優先順位付けする

新たな機能を追加するよりもバグ修正の方が価値があるのであれば最初にそれをやるし、そうでなければやらない。 このアプローチでのよくある問題は、修正されていないバグの影響度を特に複雑なシステムにおいて、過小に見積もってしまうことである。

バグの修正を他の変更と関連付けて行う

この戦略は既存のバグがたくさんある場合によく見られる戦略である。より価値のある修正は変更が行われている箇所にあり、漸進的な「バグ修正税」も機能追加と同時にテストを行うことで負担にならないようになる、という考え方だ。

バグ修正の担当者を別に用意する

何人かの人をバグの調査と修正の専任として確保しておく。ローテーション制かもしれない。この予め確保されたメンバーの人数はバグ修正と新機能追加の価値の差をどれくらいに置いているかを反映している。

私の一般論的な回答

まだ状況が悪化していない環境下では、まずは積極的にバグの修正を進め、その後状況に応じて他の作業と優先順位付けをする方向に進めるだろう。バグの数をとても少なく保つことは必要な努力の予測性を高めることに非常に役にたつだろう。

一方で既存のバグがたくさん存在しているレガシーな環境下では、変更した箇所に関連するバグを直すというアプローチと他の作業とバグ修正を比較して優先順位をつけるアプローチを併用するだろう。 チームが十分に大きいのであれば、根本原因分析をしてバグ修正を進める人を交代で用意するということもするだろう。

それでは。

アジャイル開発チーム向けのコーチングや、技術顧問、Scrum Alliance認定スクラムマスター研修などのトレーニングを提供しています。お気軽にご相談ください(初回相談無料)
前の記事 スプリントの期間を長くしたいと思ったら...
次の記事 継続的デリバリーとは何か?

プロダクト開発で、こんな課題を感じていませんか?

  • 何を作るべきか、順位の決め方が定まらない
  • プロダクトの方向性をチームで共有できていない
  • 開発組織の体制や役割がうまく機能していない
  • 開発プロセスが形骸化し、目的を見失っている
  • アジャイルを導入したが、組織に定着しない

プロダクトマネジメント、組織構造、開発プロセスの課題について、組織全体の視点から支援します。

お問い合わせ(初回相談無料)

契約を前提にした相談でなくて構いません。相談に際して事前の整理や準備は不要です。

Aligned ―プロダクト開発におけるステークホルダーとの関係性の築き方
ダイナミックリチーミング 第2版
Tidy First?
脳に収まるコードの書き方
プロダクトマネージャーのしごと 第2版
エンジニアリングマネージャーのしごと
チームトポロジー
スクラム実践者が知るべき97のこと
プロダクトマネジメント
SCRUM BOOT CAMP THE BOOK
みんなでアジャイル
レガシーコードからの脱却
Effective DevOps
変革の軌跡
ジョイ・インク
アジャイルコーチの道具箱
カンバン仕事術
Software in 30 Days
How to Change the World