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.

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

6,134 views

Published on

16:00~ 16:30 「ゴール指向の測定によるデータに裏付けられたソフトウェア品質評価と改善」 ( 早稲田大学基幹理工学部・グローバルソフトウェアエンジニアリング研究所所長 鷲崎弘宜先生 ) http://www.washi.cs.waseda.ac.jp/

測定によりソフトウェアの定量的な品質評価および改善を進める際の落とし穴とコツを、事例を交えて解説します。さらにコツを具体化した手法として、 ゴール指向の測定の枠組みであるGoal-Question-Metric(GQM)法と適用事例を 解説します。

  • Be the first to comment

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

  1. 1. ゴール指向の測定によるデータに裏付けら れたソフトウェア品質評価と改善 早稲田大学グローバルソフトウェアエンジニアリング研究所 所長 国立情報学研究所 客員准教授 ISO/IEC/JTC1/SC7/WG20 Convenor IEEE Computer Society Japan Chapter Chair SEMAT Japan Chapter Chair 鷲崎 弘宜 Twitter: @Hiro_Washi washizaki@waseda.jp http://www.washi.cs.waseda.ac.jp/ わしざき ひろのり 第一回メタップス人工知能セミナー 2015年6月14日
  2. 2. 品質とは • 品質: あるものの特性または属性 [American Heritage Dictionary] • ソフトウェア品質: ソフトウェアの使用時に必要 性を満たす能力を決定する属性(測定可能な 特徴)全体 [ISO9126- 1][ISO25000][JIS0129-1] 2
  3. 3. メトリクス(Metric / Metrics) • 測定の方法と尺度 • 測定できない事柄は、管理できない(T. DeMarco) • 成功率 31% → 定量的評価導入 46% [矢口08] 3 [矢口08] 矢口竜太郎, 吉田洋平: 成功率は31.1%, 日経コンピュータ12月1日号, 2008. 要求 定義 設計 実装 テスト 機能 仕様書 ファンクション ポイント モジュール 設計 凝集度 結合度 ソース コード 複雑度 コード行数 欠陥票 欠陥密度 テスト ケース 消化数 工数、期間
  4. 4. 落とし穴「ホーソン効果」 4nicolasdsampson.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
  5. 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)
  6. 6. コツ「横に広げて多面的に見る」 6 鷲崎弘宜,田邉浩之,小池利和,ソースコード解析による品質評価の仕組み,日経エレクトロニクス 2010/1/25 [Adqua] http://www.ogis-ri.co.jp/product/b-08-000001A6.html 保守性 モジュール性 再利用性 修正性 ・・・ コールグラフ 階層の深さ サイクロマテ ィック複雑度 関数内の 戻り点の数 処理が複雑 すぎないか? 処理が構造化 されているか? …… … …… … …… … …… … ・・・ ・・・ ・・・ G. 目標 対象 M. メトリクス Q. 質問
  7. 7. 事例: 測定による保守性・機能性評価・改善 H. Nakai, et al. Initial Industrial Experience of GQM-based Product-Focused Project Monitoring with Trend Patterns, APSEC'14 ヤフーとの共同研究
  8. 8. 落とし穴「有効な組織アクションに繋がっていない」 8 製品の信頼性や使いやす さを改善して、顧客満足度 を10%上げるぞ! 経営層 テスト効率を上げます。 保守性も改善させます。 開発部 不具合数、さらには、プログラ ムの複雑度を測定します。 品質保証部
  9. 9. 落とし穴「有効な組織アクションに繋がっていない」 9 製品の信頼性や使いやす さを改善して、顧客満足度 を10%上げるぞ! 経営層 テスト効率を上げます。 保守性も改善させます。 開発部 不具合数、さらには、プログラ ムの複雑度を測定します。 品質保証部
  10. 10. コツ「縦に、アクションに繋げる」 GQM+Strategies 10 顧客満足度10%向上 製品の信頼性 を改善する 製品の使いや すさを改善する 不具合指摘を 20%削減 テスト効率 を改善する 保守性を 改善する 顧客満足度調査 不具合データ プログラムの複雑さ OG. 上位 組織目標 S. 戦略 S. 戦略 OG. 下位 組織目標 M. メトリクス 参考: Jens Heidrich, Adam Trendowicz, “測定を基にした、ソフトウェア戦略とビジネス目標の整合” IPA/SEC資料 M. メトリクス
  11. 11. 11 事例: 新規事業の組織目標、根拠、戦略の整合 リクルート住まいカンパニーとの共同研究
  12. 12. 落とし穴「未来が今の延長とは限らない」 12
  13. 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
  14. 14. 事例: 不確実性を考慮した欠陥予測 予測欠陥数の変動欠陥数と予測モデル 不確実性 K. Honda, et al., Predicting Time Range Based on Generalized Software Reliability Model , APSEC’14 ヤフーとの共同研究
  15. 15. コツ「メトリクス・システムの改善」 15 N. Tsuda, et al. Iterative Process to Improve GQM Models with Metrics Thresholds to Detect High-risk Files, SANER'15 Doctoral
  16. 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 コマツとの共同研究
  17. 17. まとめ • 品質把握と改善にデータによる裏付けが不可欠 • ただし、メトリクスの「落とし穴」に注意 – GQM ゴール指向と横の広がり – GQM+Strategies 縦の整合とアクションへの繋がり – 不確実性を考慮した予測、経験に基づく仮定、改善 • 様々な活用事例: Yahoo、リクルート、コマツ • これからのソフトウェア開発ビッグデータ時代へ – プロジェクトデータの蓄積(特にオープンソースソフトウェア) – 開発履歴、利用履歴、クラッシュ報告のリポジトリマイニング IPA/SECセミナー 7月29日 http://sec.ipa.go.jp/seminar/ 『ゴール指向経営』で的を射たIT投資、利益を生む組織に 「GQM+Strategies」の活用で組織内の整合性確保と定量的管理を実現 9月4日(予定) 「ソフトウェア品質とゴール指向測定・改善」セミナー(仮)

×