SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Downloaden Sie, um offline zu lesen
ソフトウェア品質データ分析を通じた
組織的改善の促進
東洋大学経営学部 野中 誠
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

Weitere ähnliche Inhalte

Was ist angesagt?

modern software qa - draft 1
modern software qa - draft 1modern software qa - draft 1
modern software qa - draft 1Yasuharu Nishi
 
テスト分析.pptx
テスト分析.pptxテスト分析.pptx
テスト分析.pptxkauji0522
 
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証Yasuharu Nishi
 
幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろう幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろうscarletplover
 
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へパターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へHironori Washizaki
 
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013Kinji Akemine
 
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04Makoto Nonaka
 
概説 テスト分析
概説 テスト分析概説 テスト分析
概説 テスト分析崇 山﨑
 
アジャイル品質パターンによる伝統的な品質保証(Quality Assurance)からアジャイル品質(Agile Quality)への変革
アジャイル品質パターンによる伝統的な品質保証(Quality Assurance)からアジャイル品質(Agile Quality)への変革アジャイル品質パターンによる伝統的な品質保証(Quality Assurance)からアジャイル品質(Agile Quality)への変革
アジャイル品質パターンによる伝統的な品質保証(Quality Assurance)からアジャイル品質(Agile Quality)への変革Hironori Washizaki
 
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOKKotaro Ogino
 
LINE Developer Meetup in Tokyo #39 Presentation (modified)
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
 
Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Mineo Matsuya
 
テスコン優勝事例におけるテスト分析公開用
テスコン優勝事例におけるテスト分析公開用テスコン優勝事例におけるテスト分析公開用
テスコン優勝事例におけるテスト分析公開用Tetsuya Kouno
 
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようテスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようAkira Ikeda
 
組織にアジャイルの構造を作る
組織にアジャイルの構造を作る組織にアジャイルの構造を作る
組織にアジャイルの構造を作るtoshihiro ichitani
 
テスト観点に基づくテスト開発方法論 VSTePの概要
テスト観点に基づくテスト開発方法論VSTePの概要テスト観点に基づくテスト開発方法論VSTePの概要
テスト観点に基づくテスト開発方法論 VSTePの概要Yasuharu Nishi
 
ソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからYasuharu Nishi
 
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用Akinori SAKATA
 
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜Tetsuya Kouno
 

Was ist angesagt? (20)

modern software qa - draft 1
modern software qa - draft 1modern software qa - draft 1
modern software qa - draft 1
 
テスト分析.pptx
テスト分析.pptxテスト分析.pptx
テスト分析.pptx
 
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
QAアーキテクチャの設計による説明責任の高いテスト・品質保証QAアーキテクチャの設計による説明責任の高いテスト・品質保証
QAアーキテクチャの設計による 説明責任の高いテスト・品質保証
 
幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろう幅広なテスト分析ができるようになろう
幅広なテスト分析ができるようになろう
 
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へパターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
パターン QA to AQ: 伝統的品質保証(Quality Assurance)からアジャイル品質(Agile Quality)へ
 
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
 
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
「事実にもとづく管理」によるソフトウェア品質の改善 ー ヒンシツ大学 Evening Talk #04
 
概説 テスト分析
概説 テスト分析概説 テスト分析
概説 テスト分析
 
アジャイル品質パターンによる伝統的な品質保証(Quality Assurance)からアジャイル品質(Agile Quality)への変革
アジャイル品質パターンによる伝統的な品質保証(Quality Assurance)からアジャイル品質(Agile Quality)への変革アジャイル品質パターンによる伝統的な品質保証(Quality Assurance)からアジャイル品質(Agile Quality)への変革
アジャイル品質パターンによる伝統的な品質保証(Quality Assurance)からアジャイル品質(Agile Quality)への変革
 
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
 
LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)LINE Developer Meetup in Tokyo #39 Presentation (modified)
LINE Developer Meetup in Tokyo #39 Presentation (modified)
 
Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~Agile開発でのテストのやり方~私の場合~
Agile開発でのテストのやり方~私の場合~
 
テスコン優勝事例におけるテスト分析公開用
テスコン優勝事例におけるテスト分析公開用テスコン優勝事例におけるテスト分析公開用
テスコン優勝事例におけるテスト分析公開用
 
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しようテスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
テスト分析・設計を体感しよう ~マインドマップを活用してテスト観点を発想しよう
 
組織にアジャイルの構造を作る
組織にアジャイルの構造を作る組織にアジャイルの構造を作る
組織にアジャイルの構造を作る
 
テスト観点に基づくテスト開発方法論 VSTePの概要
テスト観点に基づくテスト開発方法論VSTePの概要テスト観点に基づくテスト開発方法論VSTePの概要
テスト観点に基づくテスト開発方法論 VSTePの概要
 
ソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれからソフトウェアの品質保証の基礎とこれから
ソフトウェアの品質保証の基礎とこれから
 
開発とテストが一体となったソフトウェア開発
開発とテストが一体となったソフトウェア開発開発とテストが一体となったソフトウェア開発
開発とテストが一体となったソフトウェア開発
 
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
JaSST Tokyo 2022 アジャイルソフトウェア開発への統計的品質管理の応用
 
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
DeNAの品質を支えるQAの取り組み 〜標準化から実践まで〜
 

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

測定によるソフトウェア品質への挑戦 公開用
測定によるソフトウェア品質への挑戦 公開用測定によるソフトウェア品質への挑戦 公開用
測定によるソフトウェア品質への挑戦 公開用Hironori Washizaki
 
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みIPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みHironori Washizaki
 
ICSE2014参加報告 (SE勉強会 6/12)
ICSE2014参加報告 (SE勉強会 6/12)ICSE2014参加報告 (SE勉強会 6/12)
ICSE2014参加報告 (SE勉強会 6/12)Kazunori Sakamoto
 
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けてHironori Washizaki
 
車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれからYasuharu Nishi
 
kagami_comput2016_14
kagami_comput2016_14kagami_comput2016_14
kagami_comput2016_14swkagami
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Hirono Jumpei
 
WACATE2013冬 知識体系とSEMAT
WACATE2013冬 知識体系とSEMATWACATE2013冬 知識体系とSEMAT
WACATE2013冬 知識体系とSEMATHironori Washizaki
 
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平Preferred Networks
 
ラーニング・アナリティクスの展望と課題
ラーニング・アナリティクスの展望と課題ラーニング・アナリティクスの展望と課題
ラーニング・アナリティクスの展望と課題Toshiyuki Takeda
 
ソフトウェア工学における問題提起と機械学習の新たなあり方
ソフトウェア工学における問題提起と機械学習の新たなあり方ソフトウェア工学における問題提起と機械学習の新たなあり方
ソフトウェア工学における問題提起と機械学習の新たなあり方MLSE
 
2017-05-30_deepleaning-and-chainer
2017-05-30_deepleaning-and-chainer2017-05-30_deepleaning-and-chainer
2017-05-30_deepleaning-and-chainerKeisuke Umezawa
 
自由と統制のバランス_分析基盤のアプローチ
自由と統制のバランス_分析基盤のアプローチ自由と統制のバランス_分析基盤のアプローチ
自由と統制のバランス_分析基盤のアプローチRyoji Hasegawa
 
Application Development Oveview
Application Development OveviewApplication Development Oveview
Application Development OveviewShinya Yanagihara
 
高性能データ処理プラットフォーム (Talk on July Tech Festa 2015)
高性能データ処理プラットフォーム (Talk on July Tech Festa 2015)高性能データ処理プラットフォーム (Talk on July Tech Festa 2015)
高性能データ処理プラットフォーム (Talk on July Tech Festa 2015)Yu Liu
 
Gifu University Before Study 2015
Gifu University Before Study 2015Gifu University Before Study 2015
Gifu University Before Study 2015Kiyoshi Ogawa
 

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

測定によるソフトウェア品質への挑戦 公開用
測定によるソフトウェア品質への挑戦 公開用測定によるソフトウェア品質への挑戦 公開用
測定によるソフトウェア品質への挑戦 公開用
 
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組みIPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
IPA RISE委託研究 ソフトウェアのベンチマークとなる品質実態調査における品質評価枠組み
 
ICSE2014参加報告 (SE勉強会 6/12)
ICSE2014参加報告 (SE勉強会 6/12)ICSE2014参加報告 (SE勉強会 6/12)
ICSE2014参加報告 (SE勉強会 6/12)
 
Ldd13 present
Ldd13 presentLdd13 present
Ldd13 present
 
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
 
車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから車載ソフトウェアの品質保証のこれから
車載ソフトウェアの品質保証のこれから
 
kagami_comput2016_14
kagami_comput2016_14kagami_comput2016_14
kagami_comput2016_14
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111
 
WACATE2013冬 知識体系とSEMAT
WACATE2013冬 知識体系とSEMATWACATE2013冬 知識体系とSEMAT
WACATE2013冬 知識体系とSEMAT
 
japan teacher
japan teacherjapan teacher
japan teacher
 
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
Session4:「先進ビッグデータ応用を支える機械学習に求められる新技術」/比戸将平
 
Tuning, etc.
Tuning, etc.Tuning, etc.
Tuning, etc.
 
ラーニング・アナリティクスの展望と課題
ラーニング・アナリティクスの展望と課題ラーニング・アナリティクスの展望と課題
ラーニング・アナリティクスの展望と課題
 
ソフトウェア工学における問題提起と機械学習の新たなあり方
ソフトウェア工学における問題提起と機械学習の新たなあり方ソフトウェア工学における問題提起と機械学習の新たなあり方
ソフトウェア工学における問題提起と機械学習の新たなあり方
 
2017-05-30_deepleaning-and-chainer
2017-05-30_deepleaning-and-chainer2017-05-30_deepleaning-and-chainer
2017-05-30_deepleaning-and-chainer
 
CVPR 2018 速報
CVPR 2018 速報CVPR 2018 速報
CVPR 2018 速報
 
自由と統制のバランス_分析基盤のアプローチ
自由と統制のバランス_分析基盤のアプローチ自由と統制のバランス_分析基盤のアプローチ
自由と統制のバランス_分析基盤のアプローチ
 
Application Development Oveview
Application Development OveviewApplication Development Oveview
Application Development Oveview
 
高性能データ処理プラットフォーム (Talk on July Tech Festa 2015)
高性能データ処理プラットフォーム (Talk on July Tech Festa 2015)高性能データ処理プラットフォーム (Talk on July Tech Festa 2015)
高性能データ処理プラットフォーム (Talk on July Tech Festa 2015)
 
Gifu University Before Study 2015
Gifu University Before Study 2015Gifu University Before Study 2015
Gifu University Before Study 2015
 

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