「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステムの信頼性向上

Makoto Nonaka
Makoto NonakaProfessor at Toyo University
ソフトウェア品質データ分析を通じた
組織的改善の促進
東洋大学経営学部 野中 誠
2014年2月4日
ソフトウェアジャパン2014
IPA/SEC ソフトウェア高信頼化センター
• 所属
– 東洋大学 経営学部 経営学科 准教授

• 背景
– 工業経営/経営システム工学,ソフトウェア工学,品質マネジメント

• 主な学外活動
– 日本科学技術連盟 SQiPソフトウェア品質委員会 運営委員長
– IPA/SEC 高信頼化定量管理部会主査(『ソフトウェア開発データ白書』)
– 組込みシステム技術協会実装品質強化WG メンバー
– 日本SPIコンソーシアム 外部理事
– 国立情報学研究所 特任准教授 (トップエスイー講座,メトリクス講義担当)

野中

誠

• 主な著書
– 野中・小池・小室著 『データ指向のソフトウェア品質マネジメント』 日科技連出版社 (2012)
2013年度日経品質管理文献賞受賞
– 野中・鷲崎訳 『演習で学ぶ ソフトウェアメトリクスの基礎』 日経BP社 (2009)
– SQuBOK策定部会編著 『ソフトウェア品質知識体系ガイド-SQuBOK Guide-』 オーム社
(2007)

• 研究教育
– ソフトウェア品質マネジメント(メトリクスを中心に)
– 情報システムと経営の関わり
2014/2/4

Makoto Nonaka, Toyo University

2
データ指向のソフトウェア品質マネジメント(デート本)
メトリクス分析による「事実にもとづく管理」の実践
2012年11月8日号
p.125 書評
ソフトウエア品質メトリクスで、日本における気鋭の研究者であ
る野中誠氏による解説書。
ソフトウエアの品質データ(メトリクス)は、その収集自体が目的
化してはならないが、その分析は開発現場ではなくてはならない
ものである。
本書はその収集・分析方法、用いるべきモデルなどを、統計学の
初歩的解説とともに述べている良書である。

2012年11月号
p.110 書評
ソフトウエアの品質を高めるには、開発の過程で問題をいち早く
把握し、適切な対策を打つことが不可欠である。それには、問題
を可視化することが大事だ。
本書は、事例を基に、品質データの測定項目や分析手法を解説
している。ソフトウエア品質に関わる多様なデータを測定し、分
析を繰り返すことは容易ではないが、分析手順を詳しく説明して
いる。
事例を読者自身の開発に当てはめて実践してみれば、必要な知
識やスキルを身に付けやすいだろう。
2014/2/4

Makoto Nonaka, Toyo University

・品質メトリクス分析の実践的入門書
・

11の分析事例

・データと分析手順の解説をダウロード
できる(同じ分析手順を手元で行える)
主要目次
第1章 品質データ分析の基本
第2章 品質状況の把握
第3章 影響要因の把握
第4章 静的予測モデルの構築
第5章 動的予測モデルの構築
第6章 測定方法
付録
野中 誠(東洋大学)
小池 利和(ヤマハ)
小室 睦
(元 日立ソリューションズ、
現 富士フイルムソフトウエア)
2012年9月19日発行
定価 3,780円(税込)
ISBN978-4-8171-9447-3

3
講演概要
ソフトウェア信頼性の確保と向上には,ソフトウェア開発に関わる
固有技術に加え,組織的かつ継続的なプロセス改善が必要である.
プロセス改善を実践する一つの鍵は 「事実に基づく管理」 である.
ソフトウェア品質データを分析して「事実」を把握し,これに基づいて
品質目標とその達成方法を計画し,達成状況をデータで確認し,
プロセス改善などの適切な処置をするというPDCAサイクルの実践
が必要であり,その原動力が品質データ分析である.
本講演では,組織的改善に結びつくソフトウェア品質データ分析の
具体例を紹介する.
本講演の内容が組織的改善を促し,信頼性の高いソフトウェアを
継続的に開発できる組織能力の涵養につながれば幸いである.
2014/2/4

Makoto Nonaka, Toyo University

4
品質データ分析は改善の推進力
• 「事実に基づく管理」は品質管理の基本原則
• ソフトウェア開発における「事実にもとづく管理」は容易でない
– データの測定・収集プロセスが、人に大きく依存している
– 目的と整合性のあるメトリクス分析をし続けることが難しい

• ソフトウェア開発において「事実に基づく管理」を進めることが、
中・長期的には品質向上の有効な施策である
– 品質向上(または悪化)のメカニズムを解明する
– データが示す客観的事実の力を活用し、改善の推進力とする
– データを手がかりに原因を特定し、アクションをとり、効果を確認する
そして、
– 再発防止のためにプロセスを改善し、失敗プロジェクトを撲滅する
– 顧客価値の向上につながる活動に注力し、顧客の満足度を高める
2014/2/4

Makoto Nonaka, Toyo University

5
下流工程での欠陥検出密度
(欠陥/規模)

データが示す客観的事実が改善の推進力になる例:
上流での欠陥摘出と下流での欠陥検出の関係は?

• 実際には 「正の相関」 に
なることも(その方が多い!?)
• 期待している因果関係と
現実のデータが一致して
いるとは限らない
• 自組織のデータを分析した
結果を組織内で共有する
ことで改善が進む
上流工程での欠陥摘出密度(欠陥/規模)

2014/2/4

Makoto Nonaka, Toyo University

6
品質管理・信頼性・生産性レベルの自己評価
信頼性レベル
(N=42)

2%
リリース後不具合はほとんど発生しておらず、経
営課題として挙げらることはほとんどない

5%

24%

21%

リリース後不具合は発生しているが、経営課題
に挙げられるほどの水準ではない
リリース後不具合は発生しているが、少なくとも
今の水準を維持することが経営課題の一つであ
る
リリース後不具合が多く、その低減が経営上の
重要課題の一つである

48%

リリース後不具合が多く、その低減が経営上の
最優先課題である

組織の品質管理レベル(N=41)

自己評価結果は
組織によって様々

生産性レベル(N=42)
2%

再発防止に加え、未然防止
策が有効に機能している

10%

生産性は高く、経営課題として挙げら
れることはほとんどない

7%
22%

37%

是正措置に加え、再発防止
策が有効に機能している

29%
発生不具合に対する是正措
置が有効に機能している

38%

発生不具合に対する是正措
置が不十分である

24%

31%

生産性が高いとはいえないが、経営課
題に挙げられるほど低い水準ではない
生産性が高いとはいえないが、少なく
とも今の水準を維持することが経営課
題の一つである
生産性が低く、その向上が経営上の重
要課題の一つである
生産性が低く、その向上が経営上の最
優先課題である

http://www.juse.jp/sqip/symposium/2013/program/files/happyou_shiryou_E2-1.pdf
2014/2/4

Makoto Nonaka, Toyo University

7
品質部門の活動に対する自己評価
開発部門に対して
(N=42)

5%

5%

16%

12%

自己評価結果は
組織によって様々
62%

顧客/エンドユーザー
の満足に対して(N=42)
7%

経営に対して(N=42)
2%

7%

10%

大いに貢献している

7%

まあまあ貢献している

17%

貢献しているかどうか何とも
いえない

29%

48%

21%

52%

あまり貢献できていない
まったく貢献できていない

http://www.juse.jp/sqip/symposium/2013/program/files/happyou_shiryou_E2-1.pdf
2014/2/4

Makoto Nonaka, Toyo University

8
自己評価の高い組織・低い組織
上位3組織

下位3組織
対開発
5
4

生産性

対開発
5
4

3

対顧客

生産性

3

2

2

1

1

0

対顧客

0

信頼性

対経営

信頼性

品質管
理

対経営

品質管
理

自己評価の高い組織と低い組織では,『面積』に大きな開きがある
http://www.juse.jp/sqip/symposium/2013/program/files/happyou_shiryou_E2-1.pdf
2014/2/4

Makoto Nonaka, Toyo University

9
上位10組織 vs 下位9組織の比較
上位1/4の組織
比較項目

下位1/4の組織

実施率

ミッション
認識率

実施率

ミッション
認識率

完了済プロジェクトの実績データの
収集と分析

0.90

0.80

0.33

0.33

定量的な評価基準・判断基準の策定

0.90

0.60

0.56

0.22

進行中プロジェクトのモニタリング

0.90

0.60

0.50

0.13

モニタリング結果の分析とアクション

0.90

0.60

0.25

0.13

不具合の収集と原因分析

0.80

0.60

0.50

0.25

自己評価の高い組織において,
これらの活動は品質部門のミッションであり,ルーチンとして実施されている
http://www.juse.jp/sqip/symposium/2013/program/files/happyou_shiryou_E2-1.pdf
2014/2/4

Makoto Nonaka, Toyo University

10
実績データの収集・分析:市場流出欠陥のベンチマークデータ
日・米・欧・印のパフォーマンス比較

(Cusumano et. al., 2003)

インド

日本

米国

欧州他

合計 or
平均

調査対象のプロジェクト数(件)

24

27

31

22

104(合計)

新規コード行数(KLOC, 中央値)

209

469

270

436

374

0.263

0.020

0.400

0.225

0.150

項目

出荷後の欠陥密度(中央値)

IPA/SEC 『ソフトウェア開発データ白書2012-2013』
新規開発
(N = 520)

改良開発
(N = 349)

出荷後不具合 / KLOC (中央値)

0.016

0.000

出荷後不具合 / KLOC (平均値)

0.106

0.123

• 組織横断での比較は,「眉唾」 に思うかもしれない
• 測定方法がほぼ揃った同一組織において,開発の結果をデータで把握し,
その分布や変化を知ることが,改善サイクルを回していく第一歩
Cusumano, M., et. al., “Software Development Worldwide: The State of the Practice,” IEEE Software, Nov/Dec 2003, pp.28-34.
2014/2/4

Makoto Nonaka, Toyo University

11
例: 「欠陥1件の数え方」 は揃っているか?
Q1:何件の欠陥と数えるか?
設計レビューで、設計仕様書の誤記を発見した。
当該個所1個所を修正したのち、これに伴って変更を要する2個所
(設計仕様書内)を修正した。
設計仕様書
…
…
…
…
…
…
…
…

…
…
…
…
…
…
…
…

…
×
…
…
…
…
…
…

…
…
…
…
…
…
…
…

…
…
…
…
…
…
…
…

…
…
…
…
…
…
…
…

…
…
…
…
…
…
…
…

…
…
…
…
…
…
…

この場合、何件の欠陥として
カウントしますか?
1? 2? 3? それ以上??
野中・小池・小室 『データ指向のソフトウェア品質マネジメント』 日科技連出版社 (2012)

2014/2/4

Makoto Nonaka, Toyo University

12
Q2:何件の欠陥と数えるか?
結合テストで、プログラムの振る舞いの問題を発見し、
原因が設計仕様にあることが分かった。
設計仕様書の当該個所1個所を修正したのち、
これに伴って変更を要するソースコード2個所を修正した。
ソースコードA
設計仕様書
……………
……×……
……………

………
……………
………
……… ……
………
………

この場合、何件の欠陥としてカウントしますか?

ソースコードB
………
………
…………
……… ……
……
…………
……

1? 2? 3? それ以上??
野中・小池・小室 『データ指向のソフトウェア品質マネジメント』 日科技連出版社 (2012)
2014/2/4

Makoto Nonaka, Toyo University

13
Q3:何件の欠陥と数えるか?
(続き)その後のシステムテストで、
(2)と同じ対応をし忘れたソースコード2個所を発見し、これを修正した。
(2)での対応の範囲
ソースコードA
設計仕様書
……………
……×……
……………

………
……………
………
…… ……
………
………

ソースコードB
………
………
…………
…… … … …
……
…………
……

ソースコードC
………
………
…………
…… ……
……
…………
……

2014/2/4

ソースコードD
………
………
…………
…… … … …
……
…………
……

この場合、全体として何件の
欠陥としてカウントしますか?

1? 2? 3? 4? 5? それ以上??
野中・小池・小室 『データ指向のソフトウェア品質マネジメント』 日科技連出版社 (2012)
Makoto Nonaka, Toyo University

14
参考:SQiPシンポジウム2010メトリクスSIGでのアンケート結果
Q1

Q2

Q3
・ 数え方は組織によって様々
なので、このグラフのように
結果がばらつくのは仕方ない
・ しかし、同一の組織内で
これだけばらついていたら、
欠陥のデータは意味をなすか?
野中(2010)「ソフトウェア品質の定量的管理における曖昧さ-ソフトウェア欠陥測定の原則-」『経営論集』pp.99-109,東洋大学経営学部
2014/2/4

Makoto Nonaka, Toyo University

15
ソフトウェア欠陥1件の数え方の例
※ 開発プロセス全体で欠陥の粒度に一貫性を持たせ、
欠陥除去工程のパフォーマンスを正しく評価したい場合

原則 : プロダクトの原因部分で集約して1件と数える


原因部分が1個所のみの場合
–



要求仕様書の記述に誤りが1個所あり、要求レビューでこれを除去した

原因部分の修正が、ほかの個所に影響する場合
–



→ 1件

→ 1件

仕様の問題個所を修正した後に、関連して修正しなければならない仕様書の記述2個所を
修正した … Q1、Q2のパターン

原因が成果物ではなくプロセスにある場合 → 修正個所を別々にカウント
–

Q3の例は、デバッグプロセスにおける修正漏れという問題のために、2個の欠陥が
新たに入り込んだと解釈する

–

Q2で識別した1件と、Q3で新たに識別した2件を合計する

→ 3件

野中(2010)「ソフトウェア品質の定量的管理における曖昧さ-ソフトウェア欠陥測定の原則-」『経営論集』pp.99-109,東洋大学経営学部
2014/2/4

Makoto Nonaka, Toyo University

16
欠陥の分類:欠陥の数を扱う前に考えなければならないこと
機能性欠陥

発展性欠陥

(functional defects)

(evolvability defects)

大規模欠陥

機能性の欠如、大幅な追加・修正が必要

サポート

ライブラリの欠陥

タイミング

マルチスレッド環境で生じる問題

構造
視覚的表現

チェック

データ、変数、リソース初期化、解放などの誤り

ロジック

比較演算子、制御フロー、計算などの誤り

コードの読みやすさ
コードの説明

妥当性確認ミス、不正な値の検出ミス

リソース

ドキュメンテーション

コード構造

インタフェース

コードインスペクション指摘の
約70%は、発展性欠陥を検出
(Mäntylä, 2009)

ライブラリ、デバイス、DB、OS等とのインタフェース不整合

• 欠陥の定量的管理の前提として、欠陥の分類を考えておく必要がある
• 欠陥除去のフロントローディングを議論するときは、機能性欠陥に着目する
• 将来の機能性欠陥につながる発展性欠陥は、早い段階で芽を摘んでおく
• 欠陥の分類に着目して、プロジェクトの状況を把握する
Mäntylä, M. V. and Lassenius, C., “What Types of Defects Are Really Discovered in Code Reviews?,” IEEE Trans. Softw. Eng., vol. 35, no. 3, pp. 430-448, 2009.

2014/2/4

Makoto Nonaka, Toyo University

17
実績データの収集・分析:
欠陥除去比率 (DRE: Defect Removal Efficiency)
作込み
除去

要求
定義

機能
設計

詳細
設計

コーディ
ング

単体
テスト

結合
テスト

システム
テスト

機能設計
インスペクション

49

681

詳細設計
インスペクション

6

42

681

コード
インスペクション

12

28

114

941

単体テスト

21

43

43

223

2

結合テスト

20

41

61

261

-

4

システムテスト

6

8

24

72

-

-

1

運用

8

16

16

40

-

-

-

1

81

合計

122

859

939

1537

2

4

1

1

3465

運用

730

74.4%

729

61.3%

1095

54.8%

332

36.7%
67.1%

111

プロセス全体の
DRE

DRE

387

例:詳細設計インスペクションの DRE
DRE = 729 / (122+859+939 – 730)

合計

58.1%

97.7%

DRE:ある欠陥除去工程(フィルタ)に入り込んだ欠陥のうち,その工程で除去した欠陥の比率

欠陥除去能力の低い工程を特定し、重点改善対象の候補とする
Laird, L. M. and Brennan, M. C., Software Measurement and Estimation: A Practical Approach, John-Wiley and Sons, 2006 (野中誠, 鷲崎弘宜訳:演習で学ぶソフトウェアメトリクスの基礎, 日経BP社, 2009).
Kan, S. H., Metrics and Models in Software Quality Engineering, 2nd ed., Addison-Wesley, 2002 (古山恒夫, 冨野壽監訳, ソフトウェア品質工学の尺度とモデル, 共立出版, 2004).

2014/2/4

Makoto Nonaka, Toyo University

18
定量的な評価基準:ゾーン分析~レビューの十分性を判断
•

レビュー指摘密度:規模当たりのレビュー指摘件数(件/規模)

•

レビュー工数密度:規模当たりのレビュー工数(工数/規模)

①

レ
ビ
ュ
ー
指
摘
密
度

②

③

問題がないと思われるのは? なぜ?
品質が悪い可能性があるのは? なぜ?

④

⑤

⑥

品質が良い可能性があるのは? なぜ?
品質を判定できないのは? なぜ?

⑦

⑧

⑨

問題があるなら,どのような対策が必要?

レビュー工数密度
2014/2/4

Makoto Nonaka, Toyo University

19
指
摘
密
度

定量的な評価基準:ゾーン分析の判定例

レ
ビ
ュ
ー

① ② ③
④ ⑤ ⑥
⑦ ⑧ ⑨

レビュー工数密度

SQiP2012
『SQiP品質保証部長の会 からの情報発信』

『続・定量的品質予測のススメ』
評価

⑤

評価

⑤

一応,品質は良好

問題は発生していない

⑥

レビューの進め方,体制の点検が必要

⑥

⑧

レビューの進め方,体制,漏れの点検が必要

⑧

⑨

レビュー効率が悪いため,レビューの進め方,
体制,漏れの点検が必要

⑨

②

設計不良のため,前工程設計不良,検討不足の
点検が必要

②

③

設計不良のため,前工程設計不良,検討不足の
点検が必要

③

品質が悪い可能性がある

①

→ 成果物を見直して再レビュー

①

レビュー不足のため,レビューの進め方,
体制, 漏れの点検が必要

④

レビュー不足のため,品質不良,
設計・レビュー点検が必要

⑦

レビュー不足のため,追加レビューで指摘増とな
る可能性がある
2014/2/4

品質が良い可能性がある

④

Makoto Nonaka, Toyo University

⑦

品質を判断できる状況にない
→ 追加レビューが必要か否かを判断

20
モニタリングとアクション:システムテストの状況把握例
不具合件数

不具合オープン-クローズチャート

オープン

クローズ

検出された不具合の
内容を確認したところ
序盤としては瑣末な
ものが多かった

12/1

12/8 12/15 12/22

1/5

1/13

12/8 12/15 12/22

1/27

2/3

2/17

2/24

1/5

1/13

1/20

1/27

2/3

3/3

3/10

日毎

不具合検出率

不具合検出率
不具合件数/テスト工数

12/1

1/20

3/17

3/25

グラフと不具合内容確認
からの所見
• 開発者の不具合修正対
応が追い付いていない
• 検出件数も増加傾向
• 序盤では,重箱の隅を
つつくような瑣末なもの
よりも致命的な不具合の
検出に注力すべき

5日間移動平均

対応のアクション案

2/17

2/24

3/3

3/10

3/17

3/25

• テスト担当者に新たに
瑣末な不具合を検出する
のではなく,デグレードの
確認に注力させる
• 開発者には不具合に
優先度を付けて,重要な
ものから確実な対応を
促す

野中・小池・小室 『データ指向のソフトウェア品質マネジメント』 日科技連出版社 (2012)
2014/2/4

Makoto Nonaka, Toyo University

21
モニタリングとアクション:システムテストの状況把握例
不具合件数

不具合オープン-クローズチャート

オープン

クローズ

不具合の内容
に特筆すべき
傾向は無し

12/1

12/8 12/15 12/22

1/5

1/13

1/20

1/27

2/3

2/17

2/24

• 開発者の不具合修正
対応が追い付いてきた
• 検出件数も減少傾向
ただし,テスト担当者が
手心を加えている状態
なので安心はできない

3/10

日毎

不具合検出率

不具合検出率
不具合件数/テスト工数

3/3

グラフと不具合内容確認
からの所見

3/17

3/25

5日間移動平均

対応のアクション案
• 開発者にも余裕が出て
きたので,テスト担当者
には細かな不具合も
叩き出すべく,例外系の
テストケースなども充実
させる

12/1

12/8 12/15 12/22

1/5

1/13

1/20

1/27

2/3

2/17

2/24

3/3

3/10

3/17

3/25

野中・小池・小室 『データ指向のソフトウェア品質マネジメント』 日科技連出版社 (2012)
2014/2/4

Makoto Nonaka, Toyo University

22
モニタリングとアクション:システムテストの状況把握例
不具合件数

不具合オープン-クローズチャート

オープン

クローズ

• オープンとクローズの
乖離も全く見られないこ
とから,検出率の一時的
な増加(2月上旬)にも
余裕をもって対応できて
いることがわかる。

不具合の内容は
レアケースな手順
によるものが多く,
致命的なものは
殆ど無い
12/1

12/8 12/15 12/22

1/5

1/13

1/20

1/27

2/3

2/17

2/24

3/10

日毎

不具合検出率

不具合検出率

3/3

3/17

グラフと不具合内容確認
からの所見

3/25

5日間移動平均

対応のアクション案
• 検出率が安定し,基準内
の数値に収まったことと,
未解決の不具合が無い
ことを確認して,リリース
判定の準備をする。

12/1

12/8 12/15 12/22

1/5

1/13

1/20

1/27

2/3

2/17

2/24

3/3

3/10

3/17

3/25

野中・小池・小室 『データ指向のソフトウェア品質マネジメント』 日科技連出版社 (2012)
2014/2/4

Makoto Nonaka, Toyo University

23
プロダクトメトリクスにも目を向けよう
•

スタッフ部門が着目するのは、多くの場合、プロセスメトリクス
– 例) レビュー工数、レビュー指摘欠陥数、テスト密度、…
– プロセスに着目すること自体は悪くなく、むしろ推奨すべき
→ プロセスを制御してプロダクト品質を制御するのは品質管理の基本
– しかし、プロセスだけを見て、プロダクトを見ないのはいけない
→ レビュー工数が足りない、レビュー指摘数が足りない、…が足りないと
言われても、「どの部分に着目して対処すべきか」の解にならない
→ プロセスメトリクスは、分解能に限界がある

•

ソフトウェア開発技術の道理を踏まえた改善を推進しよう
– 凝集度、結合度、複雑度などは、70年代、80年代から言われ続けている
ソフトウェアエンジニアリングの基本
– これらの特性を測定するメトリクスは90年代までに数多く示されていて、
ツール化されているものも多い
– 保守性を疎かにしていると、後でたいへんな「ツケ」となって回ってくる

2014/2/4

Makoto Nonaka, Toyo University

24
プロダクトメトリクスの分析例:Twitter4Jのメトリクス分析
(クラスファイル単位で測定)
メトリクス

記号

説明

総メソッド行数

TMLOC

Total Method Lines of Code
各メソッドのソースコード行数の合計

重み付きメソッド数

WMC

Weighted Methods per Class
各メソッドのサイクロマチック複雑度の合計

結合度

CBO

Coupling Between Object Classes
結合関係にある他クラスの数

凝集度の欠如

LCOM

Lack of Cohesion in Methods
属性に対してクラス内メソッドが網羅的に
アクセスしていない度合い

応答処理の多さ

RFC

Response For a Class
応答に用いるメソッド呼出しの種類の数

修正の有無

Modify

リリース後に欠陥修正が生じたか否か
(0: なし 1: あり)

注1) これらの無料ツールを用いて測定
- Eclipse Metrics plug-in 1.3.6, http://sourceforge.net/projects/metrics/
- Chidamber & Kemerer Java Metrics, http://www.spinellis.gr/sw/ckjm/
注2) LCOMにはさまざまなバリエーションがあるが,ここではHenderson-Sellersの定義を用いた
Henderson-Sellers, B., Object-Oriented Metrics, Prentice-Hall, 1996.
野中・小池・小室 『データ指向のソフトウェア品質マネジメント』 日科技連出版社 (2012)
Makoto Nonaka, Toyo University
2014/2/4

25
散布図行列で,メトリクスどうしの関係性を俯瞰する
100 200

0.0

0.4

0.8

0.0

0.4

0.8
1000

TMLOC

0.41

0.24

0.58

0.18

0.21

0.87

0.17

0.41

0.47

0

0.58

0.92

0.24

0.90

n = 102

400

0

CBO
0.40

0 10 20 30

0

100 200

WMC

R の psych ライブラリの
pairs.panels関数で作図

RFC

0

0.33

100 200 300

0.0

0.4

0.8

LCOM

0.0

0.4

0.8

Modify

0 400

1000

0 10 20 30

2014/2/4

0

pairs.panels(
data,
smooth=FALSE,
density=FALSE,
ellipses=FALSE,
scale=TRUE
)

100 200 300

野中・小池・小室 『データ指向のソフトウェア品質マネジメント』 日科技連出版社 (2012)

Makoto Nonaka, Toyo University

26
プロダクトメトリクスと欠陥見逃しの関係分析によって得られた知見
•

コード行数が380行以上という大きいクラスは3個あり,これらはすべてリリース
後に欠陥修正があった(欠陥修正率3/3 = 1.0)。

•

凝集度が欠如していないクラスは46個あり,このうちリリース後に欠陥修正が
あったのは15個であった(欠陥修正率15/46 = 0.33)。

•

一方,凝集度が欠如していたクラスは53個あり,このうちリリース後に欠陥修正
があったのは42個であった(欠陥修正率42/53 = 0.79)。

•

凝集度が欠如していたクラス53個について,結合度の値が中央値の5以下
では欠陥修正率が17/28 = 0.61であったのに対して,
中央値より大きい場合では欠陥修正率が25/25 = 1.0であった。

レビューやテストの重点化を進めるにあたって,
このようなデータから得られた客観性の高い知見は
プロセス改善の推進力になる
野中・小池・小室 『データ指向のソフトウェア品質マネジメント』 日科技連出版社 (2012)
2014/2/4

Makoto Nonaka, Toyo University

27
“I‘d rather be vaguely right than precisely wrong.”
正確に誤るよりも、漠然と正しくありたい
– John Maynard Keynes



私たちのメトリクス分析は 「正確に誤って」 いないか?(自戒の念も込めて)
– 理論モデルの洗練や予測精度の向上が目的になっていないか



「漠然と正しい」 情報が得られているか?
– 意思決定に十分役立つ精度の情報が得られているか
– 正しい意思決定に役立つ、正しい方向感の情報を生み出しているか
2014/2/4

Makoto Nonaka, Toyo University

28
再掲:品質データ分析は改善の推進力
• 「事実に基づく管理」は品質管理の基本原則
• ソフトウェア開発における「事実にもとづく管理」は容易でない
– データの測定・収集プロセスが、人に大きく依存している
– 目的と整合性のあるメトリクス分析をし続けることが難しい

• ソフトウェア開発において「事実に基づく管理」を進めることが、
中・長期的には品質向上の有効な施策である
– 品質向上(または悪化)のメカニズムを解明する
– データが示す客観的事実の力を活用し、改善の推進力とする
– データを手がかりに原因を特定し、アクションをとり、効果を確認する
そして、
– 再発防止のためにプロセスを改善し、失敗プロジェクトを撲滅する
– 顧客価値の向上につながる活動に注力し、顧客の満足度を高める
2014/2/4

Makoto Nonaka, Toyo University

29
品質にしっかりと取り組めば,組織は賢く,強く,幸せになれる
• 品質にしっかりと取り組む
–
–
–
–
–
–

作り込んでしまった影響度の大きい欠陥は,市場に出さない
作り込んでしまった欠陥は,早期に除去する
欠陥に学び,同種欠陥のレビュー摘出漏れを防ぐ
欠陥に学び,同種欠陥の将来の混入を防ぐ(再発防止)
欠陥に学び,異種欠陥の将来の混入を防ぐ(未然防止)
ソフトウェア品質を広く捉え,顧客に提供する「価値」を作り込む

• 必要な活動を,プロジェクトレベルで/組織レベルで行う
– 「品質にしっかりと取り組む」ためのプロセスを継続的に進化させる
– 開発部門,品質部門,管理層,トップマネジメントの全体で品質向上を図る
– 定量的管理は,組織的な品質向上を推進する重要な施策

• 組織が賢く,強くなる
– 欠陥 /自社独自の経験 / 価値提供の結果に学び,組織を賢く,強くする
– 賢く,強い組織は,幸せになる (収益力の向上 / 事業継続性の向上)
2014/2/4

Makoto Nonaka, Toyo University

30
1 of 30

Recommended

テスト観点に基づくテスト開発方法論 VSTePの概要 by
テスト観点に基づくテスト開発方法論VSTePの概要テスト観点に基づくテスト開発方法論VSTePの概要
テスト観点に基づくテスト開発方法論 VSTePの概要Yasuharu Nishi
9.6K views69 slides
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証 by
QAアーキテクチャの設計による説明責任の高いテスト・品質保証QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証Yasuharu Nishi
24.8K views95 slides
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版) by
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)Yasuharu Nishi
20.1K views17 slides
アジャイル品質パターン (Agile Quality, QA2AQ) by
アジャイル品質パターン (Agile Quality, QA2AQ)アジャイル品質パターン (Agile Quality, QA2AQ)
アジャイル品質パターン (Agile Quality, QA2AQ)Hironori Washizaki
6.6K views16 slides
LINE Developer Meetup in Tokyo #39 Presentation (modified) by
LINE Developer Meetup in Tokyo #39 Presentation (modified)LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)Yasuharu Nishi
5.3K views90 slides
What is quality engineer? Is it something tasty? by
What is quality engineer? Is it something tasty?What is quality engineer? Is it something tasty?
What is quality engineer? Is it something tasty?Yasuharu Nishi
4.1K views22 slides

More Related Content

What's hot

車載ソフトウェアの品質保証のこれから by
車載ソフトウェアの品質保証のこれから車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれからYasuharu Nishi
2.7K views26 slides
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game... by
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...Google Cloud Platform - Japan
32.8K views53 slides
5分で出来る!イケてるconfluenceページ by
5分で出来る!イケてるconfluenceページ5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページCLARA ONLINE, Inc.
78.7K views12 slides
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~ by
日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~Yasuharu Nishi
5.7K views28 slides
開発速度が速い #とは(LayerX社内資料) by
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
61.5K views18 slides
Demystifying quality management for large scale manufacturing in modern context by
Demystifying quality management for large scale manufacturing in modern contextDemystifying quality management for large scale manufacturing in modern context
Demystifying quality management for large scale manufacturing in modern contextYasuharu Nishi
4.1K views30 slides

What's hot(20)

車載ソフトウェアの品質保証のこれから by Yasuharu Nishi
車載ソフトウェアの品質保証のこれから車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから
Yasuharu Nishi2.7K views
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game... by Google Cloud Platform - Japan
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
株式会社コロプラ『GKE と Cloud Spanner が躍動するドラゴンクエストウォーク』第 9 回 Google Cloud INSIDE Game...
5分で出来る!イケてるconfluenceページ by CLARA ONLINE, Inc.
5分で出来る!イケてるconfluenceページ5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
CLARA ONLINE, Inc.78.7K views
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~ by Yasuharu Nishi
日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~日本のテスト産業の国際競争力~日本をソフトウェアテスト立国にしよう~
日本のテスト産業の国際競争力 ~日本をソフトウェアテスト立国にしよう~
Yasuharu Nishi5.7K views
開発速度が速い #とは(LayerX社内資料) by mosa siru
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
mosa siru61.5K views
Demystifying quality management for large scale manufacturing in modern context by Yasuharu Nishi
Demystifying quality management for large scale manufacturing in modern contextDemystifying quality management for large scale manufacturing in modern context
Demystifying quality management for large scale manufacturing in modern context
Yasuharu Nishi4.1K views
ソフトウェアの品質保証の基礎とこれから by Yasuharu Nishi
ソフトウェアの品質保証の基礎とこれからソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれから
Yasuharu Nishi21.9K views
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~ by SEGADevTech
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
SEGADevTech4.3K views
Azure Monitor Logで実現するモダンな管理手法 by Takeshi Fukuhara
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
Takeshi Fukuhara3.7K views
あじゃいる時代の品質保証 ~DevSQAの提案~ by Hiroaki Matsunaga
あじゃいる時代の品質保証 ~DevSQAの提案~あじゃいる時代の品質保証 ~DevSQAの提案~
あじゃいる時代の品質保証 ~DevSQAの提案~
Hiroaki Matsunaga10.5K views
Software Frontloading and QA by Yasuharu Nishi
Software Frontloading and QASoftware Frontloading and QA
Software Frontloading and QA
Yasuharu Nishi7.3K views
(2017.6.9) Neo4jの可視化ライブラリまとめ by Mitsutoshi Kiuchi
(2017.6.9) Neo4jの可視化ライブラリまとめ(2017.6.9) Neo4jの可視化ライブラリまとめ
(2017.6.9) Neo4jの可視化ライブラリまとめ
Mitsutoshi Kiuchi9.5K views
Dockerからcontainerdへの移行 by Akihiro Suda
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda7.5K views
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回) by Masaya Tahara
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回)
Masaya Tahara931 views
Re: ゼロから始める監視設計 by Masahito Zembutsu
Re: ゼロから始める監視設計Re: ゼロから始める監視設計
Re: ゼロから始める監視設計
Masahito Zembutsu22.5K views
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ! by Teruchika Yamada
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!
Power BI をアプリに埋め込みたい? ならば Power BI Embedded だ!
Teruchika Yamada9.4K views
What should you shift left by Yasuharu Nishi
What should you shift leftWhat should you shift left
What should you shift left
Yasuharu Nishi1.8K views
なぜ「マイクロサービス“化”」が必要なのか by Yusuke Suzuki
なぜ「マイクロサービス“化”」が必要なのかなぜ「マイクロサービス“化”」が必要なのか
なぜ「マイクロサービス“化”」が必要なのか
Yusuke Suzuki28K views
DeNA QA night #2 presentation by Yasuharu Nishi
DeNA QA night #2 presentationDeNA QA night #2 presentation
DeNA QA night #2 presentation
Yasuharu Nishi17.9K views
AWSのログ管理ベストプラクティス by Akihiro Kuwano
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
Akihiro Kuwano77.2K views

Similar to 「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステムの信頼性向上

「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04 by
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04Makoto Nonaka
4.6K views35 slides
Qua s tom-メトリクスによるソフトウェアの品質把握と改善 by
Qua s tom-メトリクスによるソフトウェアの品質把握と改善Qua s tom-メトリクスによるソフトウェアの品質把握と改善
Qua s tom-メトリクスによるソフトウェアの品質把握と改善Hironori Washizaki
4.8K views57 slides
測定によるソフトウェア品質への挑戦 公開用 by
測定によるソフトウェア品質への挑戦 公開用測定によるソフトウェア品質への挑戦 公開用
測定によるソフトウェア品質への挑戦 公開用Hironori Washizaki
1.2K views19 slides
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み by
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みIPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みHironori Washizaki
4.3K views18 slides
ICSE2014参加報告 (SE勉強会 6/12) by
ICSE2014参加報告 (SE勉強会 6/12)ICSE2014参加報告 (SE勉強会 6/12)
ICSE2014参加報告 (SE勉強会 6/12)Kazunori Sakamoto
663 views17 slides
Ldd13 present by
Ldd13 presentLdd13 present
Ldd13 presentMasashi Kayahara
228 views19 slides

Similar to 「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステムの信頼性向上(20)

「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04 by Makoto Nonaka
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
Makoto Nonaka4.6K views
Qua s tom-メトリクスによるソフトウェアの品質把握と改善 by Hironori Washizaki
Qua s tom-メトリクスによるソフトウェアの品質把握と改善Qua s tom-メトリクスによるソフトウェアの品質把握と改善
Qua s tom-メトリクスによるソフトウェアの品質把握と改善
Hironori Washizaki4.8K views
測定によるソフトウェア品質への挑戦 公開用 by Hironori Washizaki
測定によるソフトウェア品質への挑戦 公開用測定によるソフトウェア品質への挑戦 公開用
測定によるソフトウェア品質への挑戦 公開用
Hironori Washizaki1.2K views
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み by Hironori Washizaki
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みIPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
Hironori Washizaki4.3K views
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて by Hironori Washizaki
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
Hironori Washizaki811 views
kagami_comput2016_14 by swkagami
kagami_comput2016_14kagami_comput2016_14
kagami_comput2016_14
swkagami474 views
Iot algyan jhirono 20190111 by Hirono Jumpei
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111
Hirono Jumpei861 views
japan teacher by peterjiang
japan teacherjapan teacher
japan teacher
peterjiang3.2K views
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平 by Preferred Networks
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Preferred Networks7.4K views
ラーニング・アナリティクスの展望と課題 by Toshiyuki Takeda
ラーニング・アナリティクスの展望と課題ラーニング・アナリティクスの展望と課題
ラーニング・アナリティクスの展望と課題
Toshiyuki Takeda2.2K views
ソフトウェア工学における問題提起と機械学習の新たなあり方 by MLSE
ソフトウェア工学における問題提起と機械学習の新たなあり方ソフトウェア工学における問題提起と機械学習の新たなあり方
ソフトウェア工学における問題提起と機械学習の新たなあり方
MLSE7.6K views
2017-05-30_deepleaning-and-chainer by Keisuke Umezawa
2017-05-30_deepleaning-and-chainer2017-05-30_deepleaning-and-chainer
2017-05-30_deepleaning-and-chainer
Keisuke Umezawa648 views
自由と統制のバランス_分析基盤のアプローチ by Ryoji Hasegawa
自由と統制のバランス_分析基盤のアプローチ自由と統制のバランス_分析基盤のアプローチ
自由と統制のバランス_分析基盤のアプローチ
Ryoji Hasegawa843 views
高性能データ処理プラットフォーム (Talk on July Tech Festa 2015) by Yu Liu
高性能データ処理プラットフォーム (Talk on July Tech Festa 2015)高性能データ処理プラットフォーム (Talk on July Tech Festa 2015)
高性能データ処理プラットフォーム (Talk on July Tech Festa 2015)
Yu Liu319 views

「ソフトウェア品質データ分析を通じた組織的改善の促進」ソフトウエアジャパン2014「ITフォーラムセッション」IPA/SEC データの分析に基づくシステムの信頼性向上