残存バグ数を予測する、「Gompertz曲線」による推定法とは?:山浦恒央の“くみこみ”な話(50)(2/2 ページ)
プログラマーの永遠の課題「プログラム中の残存バグ数の推定」に迫るシリーズ。第3回では、品質エンジニアが眺めているだけで“ご飯を3杯食える”ほど大好きな「Gompertz曲線」による残存バグ数の推定法を紹介する。
4.Gompertz曲線での残存バグ数予測の実際
何十億円も掛けて、巨大なサイクロトロンを建設し、新しい元素を発見すれば大成功という理学とは異なり、工学では「投入時間、投入工数、投入コストに対し、どれだけの成果を上げられるのか」をとても気にします。そして、エンジニアは面倒なことを嫌い、「サクサクとできること」を好みます。
ソフトウェア開発の現場では、Gompertz曲線自体に説得力があるので用いますが、数式に関してはまず使いません。
摘出バグ数の測定がいいかげん(正確には、単位時間を考慮していない)なので、残存バグ数の予測もいいかげん、あるいは「時間をかけない簡易式」になります。具体的には、図2の「摘出バグ累計の漸近線」が、どのあたりになるかを予測することです。
このグラフを見るとバグ累計の漸近線を予測することは、視覚的で、極めて簡単に見えます。しかし、実際には以下の理由で熟練を要します。
- 摘出バグ数グラフで、「はじめチョロチョロ、なかパッパ」のパターンを見極めねばならない
- そのため、デバッグの早い時期に残存バグ数を予測するのは困難。少なくとも、“なかパッパ”が治まって、少しずつバグの発生が枯れてきた状態にならないと、予測精度は上がらない
摘出バグ数の基になる情報がいいかげんなので、残存バグ数の予測精度はそれほど高くはありません。しかし、時間をかけずに簡単に予測できる点は大きな魅力です。また、バグの発生傾向やプロジェクトの状態を診断する上で、Gompertz曲線の分析は非常に強力な手法となります(プロジェクトの状況診断は、第16回の「テスト消化曲線とバグ発生曲線の7パターン診断」で詳細に解説しています)。
5.おわりに
Gompertz曲線による残存バグ数予測は、日々のバグ数の統計情報を集める延長で実施できます。バグの統計情報がいいかげんなので、それなりの残存バグ数予測法を使うことになり、精度はそれほど高くはありませんが、時間も工数も掛かりません。また、手法としての説得力もありますので、Gompertz曲線による残存バグ数予測は、プロジェクトマネジャーの「必需品」といえます。
なお、ソフトウェアの品質制御の世界では、難解な数式が大量に出てきますが、そんな数式は「正確に表現するとこうなる」程度に考えて斜め読みし、先に進むことを筆者はオススメします。
次回は、サンプリング法を適用した残存バグ数の予測法について解説します。ご期待ください! (次回に続く)
東海大学 大学院 組込み技術研究科 准教授(工学博士)
関連キーワード
デスマーチ | 組み込み開発 | 組み込み開発プロセス改善 | 組み込み開発の混沌から抜け出そう | 現場の声からプロセス改善を深掘りする | 山浦恒央の“くみこみ”な話 | バグ | 開発プロセス | ソフトウェアテスト | システム開発
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- あなたは「バグ」をどう数えていますか? 組み込みソフトウェアの品質管理を考える
あなたの現場では、ソフトウェアの品質管理の考え方をきちんと生かし切れていますか? MONOist編集部では組み込みソフトウェアの品質管理をテーマにしたゼミナール「組み込みソフトウェア開発で問われる品質力」を開催。組織における品質管理の考え方や、実際の開発現場におけるツールの活用・導入に関する事例などが披露された。 - デスマーチ・プロジェクトでの正しい手の抜き方
高機能・多機能化に加え、「品質向上」「コスト削減」「納期短縮」が強く求められる組み込み業界。小手先の対応では太刀打ちできない。 - 連載記事「山浦恒央の“くみこみ”な話」