Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
メトリクスによるソフトウェア品質把握と改善
- 演習を交えた品質測定評価の落とし穴と
コツの習得 -
早稲田大学グローバルソフトウェアエンジニアリング研究所
国立情報学研究所 / (株)システム情報
鷲崎 弘宜
Twitter: @Hiro_W...
目次
• ソフトウェアの品質とメトリクス
• 代表的なメトリクス
• メトリクスの落とし穴と「コツ」
• ゴール指向の測定 GQM
• 組織目標、戦略、測定の整合化 GQM+Strategies
• まとめ
2
品質とは
• 品質: あるものの特性または属性 [American
Heritage Dictionary]
• ソフトウェア品質: ソフトウェアの使用時に必要性
を満たす能力を決定する属性全体 [ISO9126-
1][ISO25000][J...
メトリクス(Metric / Metrics)
• 測定の方法と尺度
– 方法: 属性(測定可能な特徴)の尺度上の値や分類への対応
付け
– 尺度: 値や分類の集合
– 対象: プロダクト、プロセス、リソース
• 測定できない事柄は、管理できな...
測定方法
• ソフトウェアの抽象的な特定側面を捉える
• 測定方法が異なれば測定結果も変わる
• 定義方法: テキスト、図、数式
1:/* strncat()は、文字列srcからcount数の文字を文字列destに付加し、さ
2:らに終端にnu...
メトリクスの使いどころ
• 現在
– 把握、評価
– ヒストグラム、管理図ほか
• 未来
– 予測、計画
– 散布図、回帰分析ほか
要求
定義
設計 実装 テスト
機能
仕様書
ファンクション
ポイント
モジュール
設計
凝集度
結合度
ソース...
目次
• ソフトウェアの品質とメトリクス
• 代表的なメトリクス
• メトリクスの落とし穴と「コツ」
• ゴール指向の測定 GQM
• 組織目標、戦略、測定の整合化 GQM+Strategies
• まとめ
7
主なメトリクス
名称 定義 用途
コード行数(LOC) コードの行数 規模の把握、他のメトリ
クスの正規化
ファンクションポイン
ト(FP)
機能量 規模の見積もり
サイクロマティック複
雑度(CC)
制御フローグラフの経路
数
複雑さの把握
...
規模: コード行数(LOC)の留意点
• 測定モデルの一貫性
– NLOC, LLOC
– CMU/SEI チェックリスト
• 作成方法、出所
– 25%を超える修正は新規実装と同程度の工数 [Linda09]
• 言語の違い
– ビジュアル言...
ユーザ
入力
出力
測定対象アプリケーション
データファイル
照会
外部アプリ
ケーション
インタ
フェース
規模: ファンクションポイント法
• 内部の処理や解決策ではなく問題の扱い
– システムの入出力、インタフェース、データファイルといっ...
複雑さ: サイクロマティック複雑度など
• 欠陥、保守やテストの困難さの検討
– レビュー・テスト必要箇所の特定、工数見積もり
• 関数内: サイクロマティック複雑度
– 20が欠陥含まれやすさ閾値
– [鷲崎10] 1 推奨、2~9 許容
•...
欠陥: DD, DRE
• 欠陥数、欠陥発見・摘出数
– 実測、動的・静的予測
– 時間あたりの場合は単位に注意
• 欠陥密度 (Defect Density: DD)
= 欠陥数 / 新規・変更LOC
– 品質把握、プロセス全体のパフォーマン...
目次
• ソフトウェアの品質とメトリクス
• 代表的なメトリクス
• メトリクスの落とし穴と「コツ」
• ゴール指向の測定 GQM
• 組織目標、戦略、測定の整合化 GQM+Strategies
• まとめ
13
落とし穴「ホーソン効果」
14nicolasdsampson.com, Observe And Learn: The Magic Of Paying Attention
http://nicolasdsampson.com/wp-content...
I. 解釈
ダッシュボードダッシュボード
コツ「ゴール指向による測定と評価」
15
M. メトリクス
G. 目標
Q. 質問
対象(データ)
評価
答え
測定値
モニタ
ツール
メトリクス システム
H. Nakai, et al. Initi...
コツ「横に広げて多面的に見る」
16
鷲崎弘宜,田邉浩之,小池利和,ソースコード解析による品質評価の仕組み,日経エレクトロニクス 2010/1/25
[Adqua] http://www.ogis-ri.co.jp/product/b-08-0...
落とし穴「オレオレ品質」
17
画像: @VS_oresagi https://twitter.com/vs_oresagi
コツ「関係をつかむ」
18
コードの規模・
複雑さメトリクス
開発主体
変更回数
変更規模
欠陥
M. ファイル規模
M. 他ファイルとの呼び出し関係
・・・
S. Sato, et al., Effects of Organizational...
コツ「国際規格の活用」
19
ISO/IEC 25023
内部・外部品質測定
ISO/IEC 25023
内部・外部品質測定
利用時の
品質
利用時の
品質
外部品質外部品質内部品質内部品質
ソフトウェア システム 業務
……
……
……
……...
Waseda Software Quality Benchmark
20
• 21製品個別評価と業界実態分析
• 国際標準ベンチマーク Waseda
Software Quality Benchmark (WSQB2017)
http://ww...
落とし穴「未来が今の延長とは限らない」
21
コツ「データと機械学習による改善(PDCA)」
22
10 25
300
150
M. 関数の数
M.実行行数
OK
NG
71
M. 関数の数
M.実行行数
OK
NG
△ OK, ○ NG
N. Tsuda, et al. Iterativ...
目次
• ソフトウェアの品質とメトリクス
• 代表的なメトリクス
• メトリクスの落とし穴と「コツ」
• ゴール指向の測定 GQM
• 組織目標、戦略、測定の整合化 GQM+Strategies
• まとめ
23
Goal-Question-Metric (GQM) パラダイム
• 明確に目標を据えて、目標に対して必要なメトリクスを対応
付けるゴール指向(目標指向)な枠組み
• 目標(Goal): 測定上の目標
• 質問(Question): 目標の達成...
GQMモデル(グラフ)の例
• 目標
– G. コードクローン含有の観点から保守性の低いコードを
特定できている。
• 質問
– Q1: コードクローンは存在するか? → M1, M2
– Q2: 発見されたコードクローンは保守上有害か? → ...
目標テンプレートとコンテキスト
• 目標の一般性、扱う範囲の明確化
• テンプレート
– 例: コードクローン含有の観点から保守性の低いコードを
特定できている。
– 対象 (Analyze) 例: ソースコード
– 目的 (Purpose) ...
質問導出の観点
• 測定対象そのものを目的から見て明確にする
– 例: ○○はいくらか?
• 対象の属性を評価者の視点から見て明確にす
る
– 例: ○○は(従来と比べて)改善されているか?
• 対象の特徴を評価者の視点から見て評価する
– 例...
仮定と解釈
• 仮定(Hypothesis, Assumption)
– Question導出にあたり仮定している事柄
– 例 A. 要求が不安定であれば設計は頻繁に変更される。
– 測定評価の繰り返しにおける見直し
• 解釈(Interpre...
GQMの拡張: 仮定と解釈
29Monden, Basili, et al.: Customizing GQM Models for Software Project Monitoring, IEICE Trans., 2012.
G. 特定プ...
ワークショップ1
• 目標のブレーンストーミング
– プロダクト、プロセス、リソースの品質測定評価
– どうありたいのか?
1. 目標の詳細: 具体的にどうありたいか? 範囲は?
2. 質問: 何を把握できている必要があるのか?
3. 仮説: ...
目次
• ソフトウェアの品質とメトリクス
• 代表的なメトリクス
• メトリクスの落とし穴と「コツ」
• ゴール指向の測定 GQM
• 組織目標、戦略、測定の整合化 GQM+Strategies
• まとめ
31
落とし穴「有効な組織アクションに繋がっていない」
32
製品の信頼性や使いやす
さを改善して、顧客満足度
を10%上げるぞ!
経営層
テスト効率を上げます。
保守性も改善させます。
開発部
不具合数、さらには、プログラ
ムの複雑度を測定します。...
コツ「縦に、アクションに繋げる」 GQM+Strategies
33
顧客満足度10%向上
製品の信頼性
を改善する
製品の使いや
すさを改善する
不具合指摘を
20%削減
テスト効率
を改善する
保守性を
改善する
顧客満足度調査
不具合デー...
GQM+Strategiesの概念モデル
GQM グラフ
GQM
MG. 測
定目標
Q. 質問
Q. 質問
M. メト
リクス
M. メト
リクス
M. メト
リクス
により測定可能
解釈モデル
の一部をなす
Goal+Strategies ...
35
事例: 新規事業の組織目標、根拠、戦略の整合
リクルート住まいカンパニーとの共同研究
ワークショップ2
1. 組織目標
– なぜ測定評価が
必要?
– そもそもどうあり
たい?
2. 戦略
– どう達成?
3. 事実・仮定
– その根拠は?
4. 上位・下位
– 何のため?
– 最終的に誰がど
う実現?
36
MG. 測
定目標...
測定プログラム運用プロセス
37
6 パッケージ化と改善
目標と戦略を適合し改善
背景と仮定の是正
学習の記録
0 初期化
コミットメント
人材 & 責任
5 結果の分析
・データを分析し、戦略を改定
・結果のレビューと伝達
・コスト/メリット...
目次
• ソフトウェアの品質とメトリクス
• 代表的なメトリクス
• メトリクスの落とし穴と「コツ」
• ゴール指向の測定 GQM
• 組織目標、戦略、測定の整合化 GQM+Strategies
• まとめ
38
まとめ、メッセージ
• ソフトウェア開発の厳しさとメトリクスの重要性
– 開発の管理、品質把握と改善
• メトリクスの限界を知り意思決定に役立てる
– 測定方法、信頼性、妥当性、負のホーソン効果
• GQMによるゴール指向の測定
– 測定と改善...
• メトリクス全般
– リンダ・M・ライルド, M・キャロル・ブレナン著, 野中誠,
鷲崎弘宜 訳 , "演習で学ぶソフトウエアメトリクスの基
礎 ソフトウエアの測定と見積もりの正しい作法", 日経
BP社 , 2009.
• GQM
– 鷲崎...
Upcoming SlideShare
Loading in …5
×

メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -

2,933 views

Published on

鷲崎弘宜, メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 - , SQiPシンポジウム2017 併設チュートリアル 2017年9月13日

Published in: Software
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

メトリクスによるソフトウェア品質把握と改善- 演習を交えた品質測定評価の落とし穴とコツの習得 -

  1. 1. メトリクスによるソフトウェア品質把握と改善 - 演習を交えた品質測定評価の落とし穴と コツの習得 - 早稲田大学グローバルソフトウェアエンジニアリング研究所 国立情報学研究所 / (株)システム情報 鷲崎 弘宜 Twitter: @Hiro_Washi washizaki@waseda.jp http://www.washi.cs.waseda.ac.jp/ わしざき ひろのり SQiPシンポジウム2017 併設チュートリアル 2017年9月13日
  2. 2. 目次 • ソフトウェアの品質とメトリクス • 代表的なメトリクス • メトリクスの落とし穴と「コツ」 • ゴール指向の測定 GQM • 組織目標、戦略、測定の整合化 GQM+Strategies • まとめ 2
  3. 3. 品質とは • 品質: あるものの特性または属性 [American Heritage Dictionary] • ソフトウェア品質: ソフトウェアの使用時に必要性 を満たす能力を決定する属性全体 [ISO9126- 1][ISO25000][JIS0129-1] – 属性: ソフトウェアの定性的/定量的に測定可能な特徴 • 品質モデル ISO/IEC 25010:2011 SQuaRE – 利用時の品質: 有効性、効率性、リスク回避性、満足 性、利用状況網羅性 – 製品品質(内部・外部品質): 機能適合性、互換性、セ キュリティ、信頼性、使用性、性能効率性、保守性、移 植性 3
  4. 4. メトリクス(Metric / Metrics) • 測定の方法と尺度 – 方法: 属性(測定可能な特徴)の尺度上の値や分類への対応 付け – 尺度: 値や分類の集合 – 対象: プロダクト、プロセス、リソース • 測定できない事柄は、管理できない(T. DeMarco) – ソフトウェア工学 = ソフトウェアの開発、運用、および保守に 対する系統的で規律に基づいた定量的アプローチ [SWEBOK] – Prj成功率 31% → 定量的評価導入Prj 46% [矢口08] …… …… …… 測定方法測定方法 測定尺度 測定プロセス メトリクス 測定結果 (値、分類) 4[SWEBOK] 松本吉弘 監訳: ソフトウェアエンジニアリング基礎知識体系―SWEBOK2004, オーム社, 2005. [矢口08] 矢口竜太郎, 吉田洋平: 成功率は31.1%, 日経コンピュータ12月1日号, 2008.
  5. 5. 測定方法 • ソフトウェアの抽象的な特定側面を捉える • 測定方法が異なれば測定結果も変わる • 定義方法: テキスト、図、数式 1:/* strncat()は、文字列srcからcount数の文字を文字列destに付加し、さ 2:らに終端にnull文字を付加する。重なるオブジェクト間でコピーしようとする 3:場合、動作は未定義である。*/ 4:char *strncat(char *dest, const char *src, size_t count) 5:{ 6: char *temp=dest; 7: if (count) { 8: while (*dest) 9: dest++; 10: while ((*dest++=*src++)) { 11: if (--count ==0) { 12: *dest=‘¥0’; break; 13: } 14: } 15: } return temp; 16:} 5
  6. 6. メトリクスの使いどころ • 現在 – 把握、評価 – ヒストグラム、管理図ほか • 未来 – 予測、計画 – 散布図、回帰分析ほか 要求 定義 設計 実装 テスト 機能 仕様書 ファンクション ポイント モジュール 設計 凝集度 結合度 ソース コード 複雑度 コード行数 欠陥票 欠陥密度 テスト ケース 消化数 工数、期間 6 件 数 測定値 例: サイクロマティック複雑度 被使用外部ファイル率 関数 再利 用率 鷲崎弘宜,田邉浩之,小池利和,ソースコード解析による品質評価の仕組み,日経エレクトロニクス 2010/1/25 鷲崎弘宜, 小池利和, 波木理恵子, 田邉浩之, "C言語プログラムソースコードの再利用性測定法とその評価", ソフトウェアテストシンポジウム JaSST'09
  7. 7. 目次 • ソフトウェアの品質とメトリクス • 代表的なメトリクス • メトリクスの落とし穴と「コツ」 • ゴール指向の測定 GQM • 組織目標、戦略、測定の整合化 GQM+Strategies • まとめ 7
  8. 8. 主なメトリクス 名称 定義 用途 コード行数(LOC) コードの行数 規模の把握、他のメトリ クスの正規化 ファンクションポイン ト(FP) 機能量 規模の見積もり サイクロマティック複 雑度(CC) 制御フローグラフの経路 数 複雑さの把握 凝集度 モジュール内の要素のま とまり 複雑さの把握 結合度 モジュール間の結合関係 の多さ 複雑さの把握 欠陥密度(DD) 欠陥数 / 新規・変更LOC 品質の把握、開発プロセ ス全体の有効性把握 欠陥除去率(DRE) 欠陥摘出数 / 当該時点 欠陥数 開発プロセス全体や工 程の有効性把握 消化済みテストケー ス数 当該時点までの消化済 みテストケース数 テストの進捗把握 プロダクト プロセス 8
  9. 9. 規模: コード行数(LOC)の留意点 • 測定モデルの一貫性 – NLOC, LLOC – CMU/SEI チェックリスト • 作成方法、出所 – 25%を超える修正は新規実装と同程度の工数 [Linda09] • 言語の違い – ビジュアル言語、オブジェクト指向: 手続き型ほど役立たない – 言語補正係数表によるファンクションポイントとの関係 [LOC/FP](例: アセンブリ 320, Java 53, C 128, 表計算 6) • コメント比率 = コメント行数 / LOC – 12.6%を超えると、コメントなしコードの2倍欠陥潜在率 [阿萬 12] 9 阿萬, “オープンソースソフトウェアにおけるコメント記述およびコメントアウトと フォールト潜在との関係に 関する定量分析”, 情報処理学会論文誌, 53(2), 2012. CMU/SEI-92-TR-022. ESC-TR-92-022. Software Quality Measurement: Framework for Counting Problems and Defects. http://www.sei.cmu.edu/reports/92tr020.pdf [Linda09] リンダ・M・ライルド, M・キャロル・ブレナン著, 野中誠, 鷲崎弘宜 訳 , "演習で学ぶソフトウエア メトリクスの基礎 ソフトウエアの測定と見積もりの正しい作法", 日経BP社 , 2009.
  10. 10. ユーザ 入力 出力 測定対象アプリケーション データファイル 照会 外部アプリ ケーション インタ フェース 規模: ファンクションポイント法 • 内部の処理や解決策ではなく問題の扱い – システムの入出力、インタフェース、データファイルといった「代理」 (プロキシ)の数え上げ – 複雑さや環境などの難易度係数で調整 • 機能規模測定(Functional Size Measurement) – ファンクションポイント法(FP法): 1979 オールブレクト – IFPUG(International Function Point Users Group http://www.ifpug.org )結成、標準化 – 技術独立・初期段階で利用可 ⇔ 経験の必要性、主観性・属人性 10
  11. 11. 複雑さ: サイクロマティック複雑度など • 欠陥、保守やテストの困難さの検討 – レビュー・テスト必要箇所の特定、工数見積もり • 関数内: サイクロマティック複雑度 – 20が欠陥含まれやすさ閾値 – [鷲崎10] 1 推奨、2~9 許容 • モジュール内: 凝集度 – 単一機能 ← データ中心 ← 機能中心 ← 無関係 – LCOM(Lack of Cohesion in Methods) < 2~5 [Chidamber94]: 参照変数が共通しないメソッド組み合わせ数 - 共通ありの 組み合わせ数 • モジュール間: 結合度 – データ渡し ← 制御フラグ渡し ← グローバルデータ – ファンアウト≦ 7±2 [SESSAME] 11 [鷲崎10]鷲崎弘宜,田邉浩之, 小池利和,”ソースコード解析による品質評価の仕組み“, 日経エレクトロニクス, 2010年1月25日号 [SESSAME07] SESSAME WG2, 組込みソフトウェア開発のためのリバースモデリング, 翔泳社, 2007. [Chidamber94] S.R.Chidamber and C.F.Kemerer, “A Metrics Suite for Object-Oriented Design”, IEEE Trans. Software Eng., vol. 20, no. 6, pp.476-493, June 1994 = 2
  12. 12. 欠陥: DD, DRE • 欠陥数、欠陥発見・摘出数 – 実測、動的・静的予測 – 時間あたりの場合は単位に注意 • 欠陥密度 (Defect Density: DD) = 欠陥数 / 新規・変更LOC – 品質把握、プロセス全体のパフォーマンス把握 – ドメインや稼働時間の相違の考慮が必要 • 欠陥除去率(Defect Removal Efficiency: DRE) = 当該工程欠陥除去数 / 当該工程で存在した欠陥数 – 各欠陥摘出工程の欠陥摘出能力把握、改善 – 各欠陥の作り込み・原因工程の記録必要あり [Linda09] リンダ・M・ライルド, M・キャロル・ブレナン著, 野中誠, 鷲崎弘宜 訳 , "演習で学ぶソフトウエア メトリクスの基礎 ソフトウエアの測定と見積もりの正しい作法", 日経BP社 , 2009. 12 12
  13. 13. 目次 • ソフトウェアの品質とメトリクス • 代表的なメトリクス • メトリクスの落とし穴と「コツ」 • ゴール指向の測定 GQM • 組織目標、戦略、測定の整合化 GQM+Strategies • まとめ 13
  14. 14. 落とし穴「ホーソン効果」 14nicolasdsampson.com, Observe And Learn: The Magic Of Paying Attention http://nicolasdsampson.com/wp-content/uploads/2012/10/2010_12_06_observe-learn-magic-paying-attention.jpg
  15. 15. I. 解釈 ダッシュボードダッシュボード コツ「ゴール指向による測定と評価」 15 M. メトリクス G. 目標 Q. 質問 対象(データ) 評価 答え 測定値 モニタ ツール メトリクス システム H. Nakai, et al. Initial Industrial Experience of GQM-based Product-Focused Project Monitoring with Trend Patterns, APSEC'14 K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14 ヤフーとの共同研究 • Goal-Question-Metric(GQM)パラダイム • 測定から評価へ
  16. 16. コツ「横に広げて多面的に見る」 16 鷲崎弘宜,田邉浩之,小池利和,ソースコード解析による品質評価の仕組み,日経エレクトロニクス 2010/1/25 [Adqua] http://www.ogis-ri.co.jp/product/b-08-000001A6.html 保守性 モジュール性 再利用性 修正性 ・・・ コールグラフ 階層の深さ サイクロマテ ィック複雑度 関数内の 戻り点の数 処理が複雑 すぎないか? 処理が構造化 されているか? …… … …… … …… … …… … ・・・ ・・・ ・・・ G. 目標 対象 M. メトリクス Q. 質問
  17. 17. 落とし穴「オレオレ品質」 17 画像: @VS_oresagi https://twitter.com/vs_oresagi
  18. 18. コツ「関係をつかむ」 18 コードの規模・ 複雑さメトリクス 開発主体 変更回数 変更規模 欠陥 M. ファイル規模 M. 他ファイルとの呼び出し関係 ・・・ S. Sato, et al., Effects of Organizational Changes on Product Metrics and Defects, APSEC'13 富士通コネクテッドとの共同研究
  19. 19. コツ「国際規格の活用」 19 ISO/IEC 25023 内部・外部品質測定 ISO/IEC 25023 内部・外部品質測定 利用時の 品質 利用時の 品質 外部品質外部品質内部品質内部品質 ソフトウェア システム 業務 …… …… …… …… …… …… どのように 影響? ISO/IEC 25022 利用時の品質測定 ISO/IEC 25022 利用時の品質測定 ISO/IEC 25051 既製ソフト品質要求ISO/IEC 25051 既製ソフト品質要求 ISO/IEC 25010 品質モデルISO/IEC 25010 品質モデル 現実の入力から どのように 測定評価 すればよいか? • PSQ認証 – コンピュータソフトウェア協会(CSAJ) – カタログ、マニュアル、仕様書、試験文書 – 全品質特性
  20. 20. Waseda Software Quality Benchmark 20 • 21製品個別評価と業界実態分析 • 国際標準ベンチマーク Waseda Software Quality Benchmark (WSQB2017) http://www.washi.cs.waseda.ac.jp/?page_id=3479 • 国際規格 ISO/IEC 25000 SQuaRE シリーズをGQMで具体化 • 製品品質、利用時品質の網羅と 関係分析 0 20 40 60 80 100 機能適合性 性能効率性 互換性 使用性 信頼性 セキュリティ 保守性 移植性 0 5 10 1 2 3 4 5 6 12ベンダ 21製品 4評価機関 一部委託 一部結果 ISO/IEC JTC1/SC7/WG6 SQuaREエディタ 協力 評価結果
  21. 21. 落とし穴「未来が今の延長とは限らない」 21
  22. 22. コツ「データと機械学習による改善(PDCA)」 22 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 コマツとの共同研究
  23. 23. 目次 • ソフトウェアの品質とメトリクス • 代表的なメトリクス • メトリクスの落とし穴と「コツ」 • ゴール指向の測定 GQM • 組織目標、戦略、測定の整合化 GQM+Strategies • まとめ 23
  24. 24. Goal-Question-Metric (GQM) パラダイム • 明確に目標を据えて、目標に対して必要なメトリクスを対応 付けるゴール指向(目標指向)な枠組み • 目標(Goal): 測定上の目標 • 質問(Question): 目標の達成を評価するための質問 • メトリクス(Metric): 質問に回答するために必要な定量的デ ータを得るための主観的・客観的メトリクス 測定する事柄 の決定 測定結果の 解釈 M. メトリクス G. 目標 Q. 質問 収集データ 目標達成評価 答え 測定値 R. van Solingen, E. Berghout, “The Goal/Question/Metric Method” McGraw-Hill Education, 1999; ISBN 0-07709-553-7. 24
  25. 25. GQMモデル(グラフ)の例 • 目標 – G. コードクローン含有の観点から保守性の低いコードを 特定できている。 • 質問 – Q1: コードクローンは存在するか? → M1, M2 – Q2: 発見されたコードクローンは保守上有害か? → M3 • メトリクス – M1: ソースコードの全体的な重複度 – M2: モジュール単位のコードクローン含有率 – M3: コードクローンに対するマネージャの主観的評価 25 G Q1 Q2 M1 M2 M3 楠本真二, 肥後芳樹, “GQMパラダイムを用いたソフトウェアメトリクスの活用”, コンピュータソフトウェア, 2012. V. Basili, et al.: Goal, Question, Metric Paradigm, Encycloperia of Software Engineering, Vol. 1(1994) リンダ・M・ライルド, M・キャロル・ブレナン著, 野中誠, 鷲崎弘宜 訳 , "演習で学ぶソフトウエアメトリクスの", 日経BP社 , 2009.
  26. 26. 目標テンプレートとコンテキスト • 目標の一般性、扱う範囲の明確化 • テンプレート – 例: コードクローン含有の観点から保守性の低いコードを 特定できている。 – 対象 (Analyze) 例: ソースコード – 目的 (Purpose) 例: 保守性の低いコードの特定 – 関心 (Respect to) 例: コードクローン情報 – 視点 (View) 例: プロジェクトマネージャ – 環境 (Context) 例: A社の開発環境 • 環境 – ドメイン、開発者数、経験、開発プロセス・手法、規模・工 数、信頼性要求、・・・ 26 楠本真二, 肥後芳樹, “GQMパラダイムを用いたソフトウェアメトリクスの活用”, コンピュータソフトウェア, 2012. V. Basili, et al.: Goal, Question, Metric Paradigm, Encycloperia of Software Engineering, Vol. 1(1994) リンダ・M・ライルド, M・キャロル・ブレナン著, 野中誠, 鷲崎弘宜 訳 , "演習で学ぶソフトウエアメトリクスの", 日経BP社 , 2009.
  27. 27. 質問導出の観点 • 測定対象そのものを目的から見て明確にする – 例: ○○はいくらか? • 対象の属性を評価者の視点から見て明確にす る – 例: ○○は(従来と比べて)改善されているか? • 対象の特徴を評価者の視点から見て評価する – 例: ○○は××からみて目に見えて改善されている か? 27 楠本真二, 肥後芳樹, “GQMパラダイムを用いたソフトウェアメトリクスの活用”, コンピュータソフトウェア, 2012.
  28. 28. 仮定と解釈 • 仮定(Hypothesis, Assumption) – Question導出にあたり仮定している事柄 – 例 A. 要求が不安定であれば設計は頻繁に変更される。 – 測定評価の繰り返しにおける見直し • 解釈(Interpretation) – もし「条件式」ならば「Goalは達成・未達成である」 – 例 I. もしLOCが少なすぎず、かつ、設計変更回数が一定 以上ならば、要求が不安定な可能性がある。 – 多面的な捉え方 – 閾値の明確化: ベンチマーク分布、経験ベース、欠陥と の照らし合わせなど [Alves10]、最初は大まかに&データ 蓄積と現物確認を経て精密に 28 リンダ・M・ライルドほか著, 野中誠, 鷲崎弘宜 訳 , "演習で学ぶソフトウエアメトリクスの基礎 ソフトウエアの測定と見積もりの正しい作法", 日経BP社 , 2009. Monden, Basili, et al.: Customizing GQM Models for Software Project Monitoring, IEICE Trans., 2012. Tiago L. Alves, et al., “Deriving Metric Thresholds from Benchmark Data,” ICSM 2010
  29. 29. GQMの拡張: 仮定と解釈 29Monden, Basili, et al.: Customizing GQM Models for Software Project Monitoring, IEICE Trans., 2012. G. 特定プロジェクトにおける要求の不安定さを把握できている Q. ソースファイルの 変更頻度はいくらか? Q. ファイルの変更 規模はいくらか? FCt. 一週間以内の ファイル更新回数 FCd. 一週間以内の削除 を伴うファイル更新回数 FLa. 一週間以 内の追加行数 A. 要求が不安定であれば コードは頻繁に削除を 伴って変更される A. 要求が不安定であれば コードは大きく変更される FLd. 一週間以 内の削除行数 I. FCt が極端に大きくなく、かつ、 FCdが以前よりも大きいのであれ ば、要求が不安定な可能性あり I. FLa が極端に大きくなく、かつ、 FLdが以前よりも大きいのであれ ば、要求が不安定な可能性あり ・・・
  30. 30. ワークショップ1 • 目標のブレーンストーミング – プロダクト、プロセス、リソースの品質測定評価 – どうありたいのか? 1. 目標の詳細: 具体的にどうありたいか? 範囲は? 2. 質問: 何を把握できている必要があるのか? 3. 仮説: その根拠は? 4. メトリクス: どのように明らかとするのか? 5. 解釈: どうであれば目標は達成しているのか? • チーム内で見直し、修正 – G-Q-M の縦の妥当性 – Q-M の横の広がりの網羅性 30
  31. 31. 目次 • ソフトウェアの品質とメトリクス • 代表的なメトリクス • メトリクスの落とし穴と「コツ」 • ゴール指向の測定 GQM • 組織目標、戦略、測定の整合化 GQM+Strategies • まとめ 31
  32. 32. 落とし穴「有効な組織アクションに繋がっていない」 32 製品の信頼性や使いやす さを改善して、顧客満足度 を10%上げるぞ! 経営層 テスト効率を上げます。 保守性も改善させます。 開発部 不具合数、さらには、プログラ ムの複雑度を測定します。 品質保証部
  33. 33. コツ「縦に、アクションに繋げる」 GQM+Strategies 33 顧客満足度10%向上 製品の信頼性 を改善する 製品の使いや すさを改善する 不具合指摘を 20%削減 テスト効率 を改善する 保守性を 改善する 顧客満足度調査 不具合データ プログラムの複雑さ OG. 上位 組織目標 S. 戦略 S. 戦略 OG. 下位 組織目標 M. メトリクス 参考: Jens Heidrich, Adam Trendowicz, “測定を基にした、ソフトウェア戦略とビジネス目標の整合” IPA/SEC資料 M. メトリクス
  34. 34. GQM+Strategiesの概念モデル GQM グラフ GQM MG. 測 定目標 Q. 質問 Q. 質問 M. メト リクス M. メト リクス M. メト リクス により測定可能 解釈モデル の一部をなす Goal+Strategies 要素 OG. 組織的な 目標 C. 事実/ A. 仮定 S. 戦略 戦略による 実現 影響 影響 ➢ により 測定可能に < の達成を測定 に至る 測定データ目標と戦略 根拠 34Jens Heidrich, Adam Trendowicz, IPA訳, 測定を基にしたソフトウェア戦略とビジネス目標の整合, 2012 • 独Fraunhofer IESE発 • 組織目標・戦略・測定(データ)の整合化と追跡 • 各箇所における責任の明確化
  35. 35. 35 事例: 新規事業の組織目標、根拠、戦略の整合 リクルート住まいカンパニーとの共同研究
  36. 36. ワークショップ2 1. 組織目標 – なぜ測定評価が 必要? – そもそもどうあり たい? 2. 戦略 – どう達成? 3. 事実・仮定 – その根拠は? 4. 上位・下位 – 何のため? – 最終的に誰がど う実現? 36 MG. 測 定目標 Q. 質問 Q. 質問 M. メト リクス M. メト リクス M. メト リクス OG. 組織的な 目標 C. 事実/ A. 仮定 S. 戦略 OG. 組織的な 目標 S. 戦略 OG. 組織的な 目標 S. 戦略 上位個所 下位個所
  37. 37. 測定プログラム運用プロセス 37 6 パッケージ化と改善 目標と戦略を適合し改善 背景と仮定の是正 学習の記録 0 初期化 コミットメント 人材 & 責任 5 結果の分析 ・データを分析し、戦略を改定 ・結果のレビューと伝達 ・コスト/メリットの分析 1 特性化(Characterize) ・適用範囲の定義 ・環境/事実の特性化 2 目標設定 ・組織構造を特定(determine) ・ギャップ分析の実施 ※現状の施策、データ等の確認 ・目標の優先順位づけ ・グリッド導出(derivation)プロセスの実施 3 プロセスの選択 ・戦略実施の計画 ・データ収集と分析の仕方の整理 ・フィードバックの仕組みの定義 4 モデルの実行 ・戦略の適用 ・データの収集と検証 ・フィードバックセッションの実施 Jens Heidrich, Adam Trendowicz, IPA訳, 測定を基にしたソフトウェア戦略とビジネス目標の整合,
  38. 38. 目次 • ソフトウェアの品質とメトリクス • 代表的なメトリクス • メトリクスの落とし穴と「コツ」 • ゴール指向の測定 GQM • 組織目標、戦略、測定の整合化 GQM+Strategies • まとめ 38
  39. 39. まとめ、メッセージ • ソフトウェア開発の厳しさとメトリクスの重要性 – 開発の管理、品質把握と改善 • メトリクスの限界を知り意思決定に役立てる – 測定方法、信頼性、妥当性、負のホーソン効果 • GQMによるゴール指向の測定 – 測定と改善のプロセス – GQM+Strategiesによる組織目標へのひもづけ – 告知: 11月20日 IPA/SECセミナー「経験と勘に頼らない 事業戦略マネジメント~データに基づく実践的な事業計 画立案のために~」(仮) http://sec.ipa.go.jp/seminar/ – 告知: 9月15日 SQiPシンポ 13:00- 「ソフトウェア品質技 術が品質特性に与える効果の見える化と活用の一考 察」 小島ほか(富士通、早稲田大) 39
  40. 40. • メトリクス全般 – リンダ・M・ライルド, M・キャロル・ブレナン著, 野中誠, 鷲崎弘宜 訳 , "演習で学ぶソフトウエアメトリクスの基 礎 ソフトウエアの測定と見積もりの正しい作法", 日経 BP社 , 2009. • GQM – 鷲崎弘宜、”ゴール指向の測定評価と留意 – GQMパラ ダイムと拡張 -”、メトリクス公団、Vol.1、TEF東海メトリク ス勉強会、2013. – 楠本真二、肥後芳樹: “GQMパラダイムを用いたソフト ウェアメトリクスの活用”、コンピュータソフトウェア、 29(3)、pp.29-38、2012. • GQM+Strategies – 早稲田大学ゴール指向経営研究会、「残念なシステム 」のなくしかた、日経ITPro、連載、2014年5月14日~6 月11日 – Victor Basili, Adam Trendowicz, Martin Kowalczyk, Jens Heidrich, Carolyn Seaman, Jürgen Münch, Dieter Rombach 著, 鷲崎弘宜, 小堀貴信, 新谷勝利, 松岡秀 樹 監訳, 早稲田大学グローバルソフトウェアエンジニア リング研究所ゴール指向経営研究会 訳, “ゴール&スト ラテジ入門: 残念なシステムの無くし方 (GQM+Strategies)”, オーム社, 2015年9月10日発行 40

×