ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善...

17
ゴール指向の測定によるデータに裏付けら れたソフトウェア品質評価と改善 早稲田大学グローバルソフトウェアエンジニアリング研究所 所長 国立情報学研究所 客員准教授 ISO/IEC/JTC1/SC7/WG20 Convenor IEEE Computer Society Japan Chapter Chair SEMAT Japan Chapter Chair 鷲崎 弘宜 Twitter: @Hiro_Washi [email protected] http://www.washi.cs.waseda.ac.jp/ わしざき ひろのり 第一回メタップス人工知能セミナー 2015614

Upload: hironori-washizaki

Post on 03-Aug-2015

4.400 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用

ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善

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

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

ISO/IEC/JTC1/SC7/WG20 Convenor

IEEE Computer Society Japan Chapter Chair

SEMAT Japan Chapter Chair

鷲崎 弘宜 Twitter: @Hiro_Washi [email protected]

http://www.washi.cs.waseda.ac.jp/

わしざき ひろのり

第一回メタップス人工知能セミナー 2015年6月14日

Page 2: ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用

品質とは

• 品質: あるものの特性または属性 [American Heritage Dictionary]

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

2

Page 3: ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用

メトリクス(Metric / Metrics)

• 測定の方法と尺度

• 測定できない事柄は、管理できない(T. DeMarco)

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

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

要求 定義

設計 実装 テスト

機能 仕様書

ファンクション ポイント

モジュール設計

凝集度 結合度

ソース コード

複雑度 コード行数

欠陥票

欠陥密度

テストケース

消化数

工数、期間

Page 5: ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用

I. 解釈 (評価基準)

コツ「ゴール指向のメトリクス定義」

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

M. メトリクス

G. 目標

Q. 質問

測定対象(データ)

達成評価

答え

測定値

5 楠本真二, 肥後芳樹, “GQMパラダイムを用いたソフトウェアメトリクスの活用”, コンピュータソフトウェア, 2012.

リンダ・M・ライルド, M・キャロル・ブレナン著, 野中誠, 鷲崎弘宜 訳 , "演習で学ぶソフトウエアメトリクスの", 日経BP社 , 2009.

V. Basili, et al.: Goal, Question, Metric Paradigm, Encycloperia of Software Engineering, Vol. 1(1994)

Page 6: ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用

コツ「横に広げて多面的に見る」

6

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

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

保守性

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

コールグラフ 階層の深さ

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

関数内の 戻り点の数

処理が複雑 すぎないか?

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

…… … …… …

…… … …… …

・・・

・・・ ・・・

G. 目標

対象

M. メトリクス

Q. 質問

Page 7: ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用

事例: 測定による保守性・機能性評価・改善

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

ヤフーとの共同研究

Page 8: ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用

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

8

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

を10%上げるぞ!

経営層

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

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

品質保証部

Page 9: ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用

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

9

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

を10%上げるぞ!

経営層

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

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

品質保証部

Page 10: ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用

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

10

顧客満足度10%向上

製品の信頼性を改善する

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

不具合指摘を20%削減

テスト効率を改善する

保守性を改善する

顧客満足度調査

不具合データ

プログラムの複雑さ

OG. 上位 組織目標

S. 戦略

S. 戦略

OG. 下位 組織目標

M. メトリクス

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

M. メトリクス

Page 11: ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用

11

事例: 新規事業の組織目標、根拠、戦略の整合

リクルート住まいカンパニーとの共同研究

Page 12: ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用

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

12

Page 13: ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用

コツ「不確実性を考慮した測定と予測」

13

• 経験に基づく仮定明示

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

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

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

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

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

K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14 Monden, Basili, et al.: Customizing GQM Models for Software Project Monitoring, IEICE Trans., 2012. Basili, V.R., et al. Linking Software Development and Business Strategy Through Measurement, IEEE Computer, 2010.

• 予測における幅と種別

0

10

20

30

40

50

60

70

80

90

0 5 10 15

Page 14: ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用

事例: 不確実性を考慮した欠陥予測

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

不確実性

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

ヤフーとの共同研究

Page 15: ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用

コツ「メトリクス・システムの改善」

15

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

Page 16: ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用

事例: 機械学習によるメトリクス・システム改善

16

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 17: ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善 公開用

まとめ • 品質把握と改善にデータによる裏付けが不可欠 • ただし、メトリクスの「落とし穴」に注意

– GQM ゴール指向と横の広がり – GQM+Strategies 縦の整合とアクションへの繋がり – 不確実性を考慮した予測、経験に基づく仮定、改善

• 様々な活用事例: Yahoo、リクルート、コマツ • これからのソフトウェア開発ビッグデータ時代へ

– プロジェクトデータの蓄積(特にオープンソースソフトウェア) – 開発履歴、利用履歴、クラッシュ報告のリポジトリマイニング

17

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

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

9月4日(予定)

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