19
測定によるソフトウェア品質への挑戦: コツ、事例、実態調査 早稲田大学グローバルソフトウェアエンジニアリング研究所 所長 国立情報学研究所 客員准教授 ISO/IEC/JTC1/SC7/WG20 Convenor IEEE Computer Society Japan Chapter Chair SEMAT Japan Chapter Chair 鷲崎 弘宜 http://www.washi.cs.waseda.ac.jp/ わしざき ひろのり コンこん会 2015627

測定によるソフトウェア品質への挑戦 公開用

Embed Size (px)

Citation preview

Page 1: 測定によるソフトウェア品質への挑戦 公開用

測定によるソフトウェア品質への挑戦: コツ、事例、実態調査

早稲田大学グローバルソフトウェアエンジニアリング研究所 所長

国立情報学研究所 客員准教授

ISO/IEC/JTC1/SC7/WG20 Convenor

IEEE Computer Society Japan Chapter Chair

SEMAT Japan Chapter Chair

鷲崎 弘宜 http://www.washi.cs.waseda.ac.jp/

わしざき ひろのり

コンこん会 2015年6月27日

Page 2: 測定によるソフトウェア品質への挑戦 公開用

2

利用時の 品質

外部品質 内部品質

ソフトウェア システム 業務

……

……

……

……

……

……

どのように影響 しているのか?

どのように測定評価 すればよいのか?

Page 3: 測定によるソフトウェア品質への挑戦 公開用

ソフトウェア品質とメトリクス

• 測定の方法と尺度

• ソフトウェア品質: 使用時に必要性を満たす能力を決定する属性(測定可能な特徴)全体 [ISO25000]

• 成功率 31% → 定量的評価導入 46% [矢口08]

3 [矢口08] 矢口竜太郎, 吉田洋平: 成功率は31.1%, 日経コンピュータ12月1日号, 2008.

要求 定義

設計 実装 テスト

機能 仕様書

ファンクション ポイント

モジュール設計

凝集度 結合度

ソース コード

複雑度 コード行数

欠陥票

欠陥密度

テストケース

消化数

工数、期間

Page 5: 測定によるソフトウェア品質への挑戦 公開用

コツ「ゴール指向&横への広がり」

5

鷲崎弘宜,田邉浩之,小池利和,ソースコード解析による品質評価の仕組み,日経エレクトロニクス 2010/1/25

[Adqua] http://www.ogis-ri.co.jp/product/b-08-000001A6.html

保守性

モジュール性 再利用性 修正性 ・・・

コールグラフ 階層の深さ

サイクロマテ ィック複雑度

関数内の 戻り点の数

処理が複雑 すぎないか?

処理が構造化 されているか?

…… … …… …

…… … …… …

・・・

・・・ ・・・

G. 目標

対象

M. メトリクス

Q. 質問

• Goal-Question-Metric(GQM)パラダイム

Page 6: 測定によるソフトウェア品質への挑戦 公開用

ヤフーとの共同研究 事例: 測定による保守性・機能性評価・改善

6 H. Nakai, et al. Initial Industrial Experience of GQM-based Product-Focused Project Monitoring with Trend Patterns, APSEC'14

Page 7: 測定によるソフトウェア品質への挑戦 公開用

落とし穴「有効な組織アクションに繋がっていない」

7

製品の信頼性や使いやすさを改善して、顧客満足度

を10%上げるぞ!

経営層

テスト効率を上げます。 保守性も改善させます。

開発部 不具合数、さらには、プログラムの複雑度を測定します。

品質保証部

Page 8: 測定によるソフトウェア品質への挑戦 公開用

落とし穴「有効な組織アクションに繋がっていない」

8

製品の信頼性や使いやすさを改善して、顧客満足度

を10%上げるぞ!

経営層

テスト効率を上げます。 保守性も改善させます。

開発部 不具合数、さらには、プログラムの複雑度を測定します。

品質保証部

Page 9: 測定によるソフトウェア品質への挑戦 公開用

コツ「縦に、アクションに繋げる」 GQM+Strategies

9

顧客満足度10%向上

製品の信頼性を改善する

製品の使いやすさを改善する

不具合指摘を20%削減

テスト効率を改善する

保守性を改善する

顧客満足度調査

不具合データ

プログラムの複雑さ

OG. 上位 組織目標

S. 戦略

S. 戦略

OG. 下位 組織目標

M. メトリクス

参考: Jens Heidrich, Adam Trendowicz, “測定を基にした、ソフトウェア戦略とビジネス目標の整合” IPA/SEC資料

M. メトリクス

Page 10: 測定によるソフトウェア品質への挑戦 公開用

10

リクルート住まいカンパニーとの共同研究 事例: 新規事業の組織目標、根拠、戦略の整合

Page 11: 測定によるソフトウェア品質への挑戦 公開用

落とし穴「未来が今の延長とは限らない」

11

Page 12: 測定によるソフトウェア品質への挑戦 公開用

コツ「仮定の明示とシステム改善」

12

計画

測定

評価

改善

N. Tsuda, et al. Iterative Process to Improve GQM Models with Metrics Thresholds to Detect High-risk Files, SANER'15 Doctoral

M. 呼び出し先 モジュール数

G. 変更されやすい 箇所を特定できている

Q. モジュールの依存 関係はどの程度か?

M. 呼び出し元 モジュール数

A. あちこちと依存するモ ジュールは変更されやすい

Page 13: 測定によるソフトウェア品質への挑戦 公開用

コマツとの共同研究 事例: 機械学習によるメトリクス・システム改善

13

10 25

300

150

M. 関数の数

M. 実

行行

OK

NG

71

M. 関数の数

M. 実

行行

OK

NG

△ OK, ○ NG

N. Tsuda, et al. Iterative Process to Improve GQM Models with Metrics Thresholds to Detect High-risk Files, SANER'15 Doctoral

Page 14: 測定によるソフトウェア品質への挑戦 公開用

ヤフーとの共同研究 事例: 開発中の(動的な)欠陥予測

予測欠陥数の変動 欠陥数と予測モデル

不確定性

K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14

時間変化

Page 15: 測定によるソフトウェア品質への挑戦 公開用

コツ「時間変化や不確定性を考慮した予測」

15 K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14 K. Honda, et al., Predicting the Release Time Based on a Generalized Software Reliability Model (GSRM), COMPSAC’14

単位時間あたり欠陥数一定,不確定性増大

単位時間あたり欠陥数一定,不確定性一定

単位時間あたり欠陥数一定,不確定性減少

単位時間あたり欠陥数が離散的に変化,不確定性増大

単位時間あたり欠陥数が離散的に変化,不確定性一定

単位時間あたり欠陥数が離散的に変化,不確定性減少

単位時間あたり欠陥数増大,不確定性増大

単位時間あたり欠陥数増大,不確定性一定

単位時間あたり欠陥数増大,不確定性減少

-0.3

-0.2

-0.1

0

0.1

0.2

-15

-10

-5

0

5

10

15

0 0.2 0.4 0.6 0.8 1

-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0

0.5

1

1.5

2

0 0.5 1

α①

0

0.5

1

1.5

2

0 0.5 1

α②

0

0.5

1

1.5

2

α③

不確定性

時 間 変 化

Page 16: 測定によるソフトウェア品質への挑戦 公開用

16

0.25

-0.2

0.15

-0.1

0.05

0

0.05

0.1

0.15

0.2

-15

-10

-5

0

5

10

15

0 0.5 1

-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14

Page 17: 測定によるソフトウェア品質への挑戦 公開用

住友電工との共同研究

事例: ツール化とチーム共有

Page 18: 測定によるソフトウェア品質への挑戦 公開用

富士通との共同研究 事例: 工程・種類別の予測

0

50

100

150

200

250

300

350

400

450

500

0 8

16 24 32 40 48 56 64 72 80 88 96 104

112

120

128

136

144

152

160

168

176

184

192

200

208

216

224

232

240

248

256

264

272

280

288

296

304

312

320

328

336

344

Bu

g数

日数

Component Integration Test Unit Test Other HW-SW Integration Test PreFIT FIT Regression Test A1_ST1 B_ST1 A1_ST2

日数

欠陥数

0

100

200

300

400

500

600

0 100 200 300 400

Bu

g数

日数

全体への単純適用

Selected Data All GSRM

日数

欠陥数

0

100

200

300

400

500

600

0 100 200 300 400

Bu

g数

日数

工程・種類別の適用

Selected Data Separate GSRM

日数

欠陥数

Page 19: 測定によるソフトウェア品質への挑戦 公開用

まとめ • 品質把握と改善上のメトリクスの落とし穴へのコツ

– GQM ゴール指向と横の広がり

– GQM+Strategies 縦の整合とアクションへの繋がり

– 仮定の明示と改善

• 時間変化と不確定性を考慮した予測

– ツール化、実開発における意思決定の支援へ

– 時間変化、不確定性の有用性検証はこれから

IPA/SECセミナー 7月29日 http://sec.ipa.go.jp/seminar/ 『ゴール指向経営』で的を射たIT投資、利益を生む組織に

「GQM+Strategies」の活用で組織内の整合性確保と定量的管理を実現

早稲田大学・Fraunhofer IESE ほか 9月4日(予定)

「ソフトウェア品質とゴール指向測定・改善」セミナー(仮)