Elizabeth Hendrickson氏が、最近、バグの優先順位付けのミーティングで無駄にした時間について論じている。Hendrickson氏のブログ、testobsessed.comでは、企業はテストで明らかになる情報をレバレッジすることなく、かなりの時間とお金をテストに費やす問題があることを取り上げている。
記事の中で説明しているように、ソフトウェアエンジニアリングコミュニティには、共通する間違った意見がある。その意見とは、バグは必然的なものであり、すべてを修正できるわけではなく、「投資収益率を考えれば、バグを修正するか、修正を先送りするかは明らか」であるというものだ。
Hendrickson氏は、今まで2社で働いた経験を持ち、その経験からこの考え方は死の落とし穴になることが分かってきた。会社が、直接、バグからダメージを受けるのではない。しかし、Hendrickson氏が説明するように、バグは「浸透して感染して」いくため、徐々に生産性が低下し、テスタとエンジニアを無力にする。詳細は、次のように述べられている。
バグは、私たちを消耗させる隠れたコストです。バグの優先順位付けミーティングでは、バグに関する議論に何時間も費やします。良く知っている問題に何度もぶつかり、ちょっとした変更をするのに、壊れやすく、すぐにエラーが起きるコードベースと格闘しなければなりません。また、バックログを分類して整理するのに何時間もかかります。このようなことは、私たちを混乱に陥れ、驚くほどコストがかかります。
Hendrickson氏は、自分自身の経験から結論を引き出した。
バグの優先順位付けミーティングをすべてキャンセルしましょう。その代わりに、障害を防いだり、修正したりすることに時間を使いましょう。初期の段階でテストして、バグを早く見つけましょう。バグが見つかったら、すぐに修正しましょう。割れた窓には早く注意を払うべきだと言うではありませんか。
ブログの読者たちはこの記事にコメントした。例えば、Jim Gay氏は次のように述べた。
ビジネスのプロセスが間違っていることを示すバグを、私は見てきました。例えば、アナリストがあなたにXをするように言って、あなたはXをコーディングします。それから、ユーザがなぜYをしていないかとたずねるのです。コードの中のバグか、プロセスの中のバグは、何かが修正されるべきことを意味します。
Gabe Newcomb氏は、Hendrickson氏の記事にすべて賛成するわけではない。
この記事では、すべてのバグが修正する価値があり、バグを修正する労力の方が、新しい機能よりも重要だということを述べています。このようなことは、私の経験には合いません。私が行っていたバグの優先順位付けのプロセスは、重要な疑問に答えるものです。問題を修正すべきか、修正するならばいつか、他の作業との関係でどこに合わせるのかなどです。これらの疑問にどのように答えますか?
Steve Fenton氏は、すべてのバグを修正すべきだと信じている開発者だ。
永遠に繰り返されることに費やす時間よりも、バグを修正するのにかかる時間の方が、大抵の場合少なくなります。顧客への影響と同様に、ミーティングで古いバグについて議論し、偶然、何度も同じバグをテスタに見つけられ、開発者が何度もそのバグを「重複」としてクローズします。すぐに修正した時にかかるコストよりも、長い間つきまとわれるほど多くのコストがかかる機会が増えていきます。